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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! Cross-platform system tray icon library.
//!
//! This crate provides a cross-platform API for creating and managing system tray icons
//! with native X11 support on Linux, Shell_NotifyIcon on Windows, and NSStatusItem on macOS.
//!
//! # Features
//!
//! - Native X11 system tray support on Linux
//! - Full mouse event support: click, double-click, enter, leave, move
//! - Thread-safe `TrayIcon` that can be used with async runtimes
//!
//! # Example
//!
//! ```no_run
//! use tray::{Icon, TrayIconBuilder, TrayIconEvent, MouseButton};
//!
//! // Create an icon from RGBA data
//! let icon = Icon::from_rgba(vec![0; 64 * 64 * 4], 64, 64).unwrap();
//!
//! // Build the tray icon
//! let tray = TrayIconBuilder::new()
//! .with_icon(icon)
//! .with_tooltip("My App")
//! .build()
//! .unwrap();
//!
//! // Handle events
//! let receiver = TrayIconEvent::receiver();
//! loop {
//! if let Ok(event) = receiver.try_recv() {
//! match event {
//! TrayIconEvent::Click { button: MouseButton::Right, .. } => {
//! // Show context menu
//! }
//! _ => {}
//! }
//! }
//! std::thread::sleep(std::time::Duration::from_millis(100));
//! }
//! ```
use ;
use ;
use ;
pub use dpi;
pub use ;
pub use ;
pub use NativeIcon;
pub use ;