Skip to content

zd4y/focus_monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Iterator over focused window change on Linux

Example usage:

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(())
}

Async

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);
}

About

Rust library for iterating over the focused window each time it changes

Topics

Resources

License

Stars

Watchers

Forks

Languages