This commit is contained in:
wash2 2026-04-18 20:11:25 +00:00
commit 0fa87f2b35
16382 changed files with 734838 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Initialize a new event queue with its associated registry and retrieve the initial list of globals"><title>registry_queue_init in cosmic::cctk::sctk::reexports::client::globals - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../../../../static.files/rustdoc-aa0817cf.css"><meta name="rustdoc-vars" data-root-path="../../../../../../" data-static-root-path="../../../../../../static.files/" data-current-crate="cosmic" data-themes="" data-resource-suffix="" data-rustdoc-version="1.90.0-nightly (3048886e5 2025-07-30)" data-channel="nightly" data-search-js="search-fa3e91e5.js" data-settings-js="settings-5514c975.js" ><script src="../../../../../../static.files/storage-68b7e25d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../../../../static.files/main-eebb9057.js"></script><noscript><link rel="stylesheet" href="../../../../../../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../../../../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../../../../cosmic/index.html">cosmic</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In cosmic::<wbr>cctk::<wbr>sctk::<wbr>reexports::<wbr>client::<wbr>globals</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../../../../index.html">cosmic</a>::<wbr><a href="../../../../index.html">cctk</a>::<wbr><a href="../../../index.html">sctk</a>::<wbr><a href="../../index.html">reexports</a>::<wbr><a href="../index.html">client</a>::<wbr><a href="index.html">globals</a></div><h1>Function <span class="fn">registry_queue_init</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"></span></div><pre class="rust item-decl"><code>pub fn registry_queue_init&lt;State&gt;(
conn: &amp;<a class="struct" href="../struct.Connection.html" title="struct cosmic::cctk::sctk::reexports::client::Connection">Connection</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(<a class="struct" href="struct.GlobalList.html" title="struct cosmic::cctk::sctk::reexports::client::globals::GlobalList">GlobalList</a>, <a class="struct" href="../struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue">EventQueue</a>&lt;State&gt;), <a class="enum" href="enum.GlobalError.html" title="enum cosmic::cctk::sctk::reexports::client::globals::GlobalError">GlobalError</a>&gt;<div class="where">where
State: <a class="trait" href="../trait.Dispatch.html" title="trait cosmic::cctk::sctk::reexports::client::Dispatch">Dispatch</a>&lt;<a class="struct" href="../protocol/wl_registry/struct.WlRegistry.html" title="struct cosmic::cctk::sctk::reexports::client::protocol::wl_registry::WlRegistry">WlRegistry</a>, <a class="struct" href="struct.GlobalListContents.html" title="struct cosmic::cctk::sctk::reexports::client::globals::GlobalListContents">GlobalListContents</a>&gt; + 'static,</div></code></pre><span class="item-info"><div class="stab portability">Available on <strong>crate feature <code>wayland</code> and Linux</strong> only.</div></span><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Initialize a new event queue with its associated registry and retrieve the initial list of globals</p>
<p>See <a href="index.html" title="mod cosmic::cctk::sctk::reexports::client::globals">the module level documentation</a> for more.</p>
</div></details></section></div></main></body></html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Helpers for handling the initialization of an app"><title>cosmic::cctk::sctk::reexports::client::globals - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../../../../static.files/rustdoc-aa0817cf.css"><meta name="rustdoc-vars" data-root-path="../../../../../../" data-static-root-path="../../../../../../static.files/" data-current-crate="cosmic" data-themes="" data-resource-suffix="" data-rustdoc-version="1.90.0-nightly (3048886e5 2025-07-30)" data-channel="nightly" data-search-js="search-fa3e91e5.js" data-settings-js="settings-5514c975.js" ><script src="../../../../../../static.files/storage-68b7e25d.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../../../../static.files/main-eebb9057.js"></script><noscript><link rel="stylesheet" href="../../../../../../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../../../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../../../../cosmic/index.html">cosmic</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module globals</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li></ul><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In cosmic::<wbr>cctk::<wbr>sctk::<wbr>reexports::<wbr>client</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../../../../index.html">cosmic</a>::<wbr><a href="../../../../index.html">cctk</a>::<wbr><a href="../../../index.html">sctk</a>::<wbr><a href="../../index.html">reexports</a>::<wbr><a href="../index.html">client</a></div><h1>Module <span>globals</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"></span></div><span class="item-info"><div class="stab portability">Available on <strong>crate feature <code>wayland</code> and Linux</strong> only.</div></span><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Helpers for handling the initialization of an app</p>
<p>At the startup of your Wayland app, the initial step is generally to retrieve the list of globals
advertized by the compositor from the registry. Using the <a href="../trait.Dispatch.html" title="trait cosmic::cctk::sctk::reexports::client::Dispatch"><code>Dispatch</code></a> mechanism for this task can be
very unpractical, this is why this module provides a special helper for handling the registry.</p>
<p>The entry point of this helper is the <a href="fn.registry_queue_init.html" title="fn cosmic::cctk::sctk::reexports::client::globals::registry_queue_init"><code>registry_queue_init</code></a> function. Given a reference to your
<a href="../struct.Connection.html" title="struct cosmic::cctk::sctk::reexports::client::Connection"><code>Connection</code></a> it will create an <a href="../struct.EventQueue.html" title="struct cosmic::cctk::sctk::reexports::client::EventQueue"><code>EventQueue</code></a>, retrieve the initial list of globals, and register a
handler using your provided <code>Dispatch&lt;WlRegistry,_&gt;</code> implementation for handling dynamic registry events.</p>
<h3 id="example"><a class="doc-anchor" href="#example">§</a>Example</h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>wayland_client::{
Connection, Dispatch, QueueHandle,
globals::{registry_queue_init, Global, GlobalListContents},
protocol::{wl_registry, wl_compositor},
};
<span class="comment">// You need to provide a Dispatch&lt;WlRegistry, GlobalListContents&gt; impl for your app
</span><span class="kw">impl </span>wayland_client::Dispatch&lt;wl_registry::WlRegistry, GlobalListContents&gt; <span class="kw">for </span>State {
<span class="kw">fn </span>event(
state: <span class="kw-2">&amp;mut </span>State,
proxy: <span class="kw-2">&amp;</span>wl_registry::WlRegistry,
event: wl_registry::Event,
<span class="comment">// This mutex contains an up-to-date list of the currently known globals
// including the one that was just added or destroyed
</span>data: <span class="kw-2">&amp;</span>GlobalListContents,
conn: <span class="kw-2">&amp;</span>Connection,
qhandle: <span class="kw-2">&amp;</span>QueueHandle&lt;State&gt;,
) {
<span class="comment">/* react to dynamic global events here */
</span>}
}
<span class="kw">let </span>conn = Connection::connect_to_env().unwrap();
<span class="kw">let </span>(globals, queue) = registry_queue_init::&lt;State&gt;(<span class="kw-2">&amp;</span>conn).unwrap();
<span class="comment">// now you can bind the globals you need for your app
</span><span class="kw">let </span>compositor: wl_compositor::WlCompositor = globals.bind(<span class="kw-2">&amp;</span>queue.handle(), <span class="number">4</span>..=<span class="number">5</span>, ()).unwrap();</code></pre></div>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Global.html" title="struct cosmic::cctk::sctk::reexports::client::globals::Global">Global</a></dt><dd>Description of a global.</dd><dt><a class="struct" href="struct.GlobalList.html" title="struct cosmic::cctk::sctk::reexports::client::globals::GlobalList">Global<wbr>List</a></dt><dd>A helper for global initialization.</dd><dt><a class="struct" href="struct.GlobalListContents.html" title="struct cosmic::cctk::sctk::reexports::client::globals::GlobalListContents">Global<wbr>List<wbr>Contents</a></dt><dd>A container representing the current contents of the list of globals</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.BindError.html" title="enum cosmic::cctk::sctk::reexports::client::globals::BindError">Bind<wbr>Error</a></dt><dd>An error that occurs when a binding a global fails.</dd><dt><a class="enum" href="enum.GlobalError.html" title="enum cosmic::cctk::sctk::reexports::client::globals::GlobalError">Global<wbr>Error</a></dt><dd>An error that may occur when initializing the global list.</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.registry_queue_init.html" title="fn cosmic::cctk::sctk::reexports::client::globals::registry_queue_init">registry_<wbr>queue_<wbr>init</a></dt><dd>Initialize a new event queue with its associated registry and retrieve the initial list of globals</dd></dl></section></div></main></body></html>

View file

@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["BindError","GlobalError"],"fn":["registry_queue_init"],"struct":["Global","GlobalList","GlobalListContents"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long