summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorMaxVerevkin <maxxverrr@gmail.com>2023-03-25 21:45:10 +0200
committerMaxVerevkin <maxxverrr@gmail.com>2023-03-25 21:45:10 +0200
commit246314fa5a028ebd852a5c13b3d09cf0ba63d905 (patch)
treeb5f7614a5a265d010005e1b1a9ac60a41b4ad0f5 /src/main.rs
parent703c3972bf50d7ac8521c15ae6fec603e5e279b6 (diff)
downloadi3bar-mango-246314fa5a028ebd852a5c13b3d09cf0ba63d905.tar.gz
show hide with pkill -SIGUSR1 i3bar-river
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 241cd19..d3457b5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -20,6 +20,11 @@ mod text;
mod utils;
mod wm_info_provider;
+use signal_hook::consts::*;
+use signal_hook_tokio::Signals;
+
+use futures::stream::StreamExt;
+
use wayrs_client::connection::Connection;
use state::State;
@@ -28,6 +33,8 @@ use state::State;
async fn main() -> anyhow::Result<()> {
env_logger::init();
+ let mut signals = Signals::new([SIGUSR1])?;
+
let mut conn = Connection::connect()?;
let globals = conn.async_collect_initial_globals().await?;
let mut state = State::new(&mut conn, &globals);
@@ -49,6 +56,10 @@ async fn main() -> anyhow::Result<()> {
}
conn.async_flush().await?;
}
+ Some(signal) = signals.next() => match signal {
+ SIGUSR1 => state.toggle_visibility(&mut conn),
+ _ => unreachable!(),
+ }
}
}
}