Skip to main content

event_printer/
event_printer.rs

1//! Prints out every event that comes from i3.
2//! What displays on screen isn't json, but the data as understood by this library.
3
4extern crate i3ipc;
5
6use i3ipc::I3EventListener;
7use i3ipc::Subscription;
8
9fn main() {
10    let mut listener = I3EventListener::connect().expect("failed to connect");
11    let subs = [
12        Subscription::Workspace,
13        Subscription::Output,
14        Subscription::Mode,
15        Subscription::Window,
16        Subscription::BarConfig,
17        Subscription::Binding,
18    ];
19    listener.subscribe(&subs).expect("failed to subscribe");
20    for event in listener.listen() {
21        println!("{:?}\n", event.expect("failed to get event"))
22    }
23}