focus_tracker/
lib.rs

1pub use focus_tracker_core::*;
2
3mod focus_tracker;
4
5pub use focus_tracker::*;
6
7#[cfg(target_os = "macos")]
8#[path = "macos/mod.rs"]
9mod platform;
10
11#[cfg(target_os = "linux")]
12#[path = "linux/mod.rs"]
13mod platform;
14
15#[cfg(target_os = "windows")]
16#[path = "windows/mod.rs"]
17mod platform;
18
19// For platform specific util API's
20pub use platform::utils;
21
22/// Subscribe to focus changes and receive them via a channel
23/// This is a convenience function that creates a new FocusTracker with default config and subscribes to changes
24pub fn subscribe_focus_changes() -> FocusTrackerResult<std::sync::mpsc::Receiver<FocusedWindow>> {
25    let tracker = FocusTracker::new();
26    tracker.subscribe_focus_changes()
27}