1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/// # System Tray
///
/// An async implementation of the `StatusNotifierItem` and `DbusMenu` protocols for building system trays.
///
/// Requires Tokio.
///
/// ## Example
///
/// ```no_run
/// use system_tray::client::Client;
///
/// #[tokio::main]
/// async fn main() {
/// let client = Client::new().await.unwrap();
/// let mut tray_rx = client.subscribe();
///
/// let initial_items = client.items();
///
/// // do something with initial items...
///
/// while let Ok(ev) = tray_rx.recv().await {
/// println!("{ev:?}"); // do something with event...
/// }
/// }
/// ```
/// Client for listening to item and menu events,
/// and associated types.
/// Error and result types.
/// `StatusNotifierItem` item representation.
/// `DBusMenu` menu representation.
pub