1mod config;
2mod error;
3mod focus_tracker;
4mod focused_window;
5
6#[cfg(target_os = "macos")]
7#[path = "macos/mod.rs"]
8mod platform;
9
10#[cfg(target_os = "linux")]
11#[path = "linux/mod.rs"]
12mod platform;
13#[cfg(target_os = "windows")]
14#[path = "windows/mod.rs"]
15mod platform;
16
17pub use config::{FocusTrackerConfig, IconConfig};
18pub use error::{EuroFocusError, EuroFocusResult};
19pub use focus_tracker::FocusTracker;
20pub use focused_window::FocusedWindow;
21
22pub use platform::utils;
24
25pub fn subscribe_focus_changes() -> EuroFocusResult<std::sync::mpsc::Receiver<FocusedWindow>> {
28 let tracker = FocusTracker::new();
29 tracker.subscribe_focus_changes()
30}