Crates.io | focus_monitor |
lib.rs | focus_monitor |
version | 0.1.4 |
source | src |
created_at | 2022-11-28 05:48:50.269918 |
updated_at | 2023-05-07 22:51:16.962144 |
description | Library for iterating over the focused window each time it changes |
homepage | https://github.com/zd4y/focus_monitor/ |
repository | https://github.com/zd4y/focus_monitor/ |
max_upload_size | |
id | 724137 |
size | 10,009 |
The following will print the window that gets focused every time the active window changes.
window
can be None
if there is no active window.
use focus_monitor::FocusMonitor;
fn main() -> anyhow::Result<()> {
let focus_monitor = FocusMonitor::try_new()?;
for window in focus_monitor {
let window = window?;
println!("{:?}", window);
}
Ok(())
}
To enable AsyncFocusMonitor
use features=["tokio"]
in Cargo.toml
:
focus_monitor = { version = "0.1", features = ["tokio"] }
And you can use it like this:
use focus_monitor::AsyncFocusMonitor;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let mut focus_monitor = AsyncFocusMonitor::try_new()?;
let window = focus_monitor.recv().await?;
println!("{:?}", window);
}