diff options
| author | MaxVerevkin <maxxverrr@gmail.com> | 2023-03-25 21:45:10 +0200 |
|---|---|---|
| committer | MaxVerevkin <maxxverrr@gmail.com> | 2023-03-25 21:45:10 +0200 |
| commit | 246314fa5a028ebd852a5c13b3d09cf0ba63d905 (patch) | |
| tree | b5f7614a5a265d010005e1b1a9ac60a41b4ad0f5 /src/main.rs | |
| parent | 703c3972bf50d7ac8521c15ae6fec603e5e279b6 (diff) | |
| download | i3bar-mango-246314fa5a028ebd852a5c13b3d09cf0ba63d905.tar.gz | |
show hide with pkill -SIGUSR1 i3bar-river
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 11 |
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!(), + } } } } |
