diff options
| author | Duncan Overbruck <mail@duncano.de> | 2025-05-10 20:18:49 +0200 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-05-10 12:14:41 -0700 |
| commit | a8259b4ceae521311f5152980287ff88d0b984e7 (patch) | |
| tree | 8f261b5f60242496831a21dddb6a2f32fb454afd /src/ipc | |
| parent | 9d3d7cb0e973827e5fcaa5d312a05695564a44c0 (diff) | |
| download | niri-a8259b4ceae521311f5152980287ff88d0b984e7.tar.gz niri-a8259b4ceae521311f5152980287ff88d0b984e7.tar.bz2 niri-a8259b4ceae521311f5152980287ff88d0b984e7.zip | |
add WindowUrgencyChanged ipc event
Diffstat (limited to 'src/ipc')
| -rw-r--r-- | src/ipc/client.rs | 3 | ||||
| -rw-r--r-- | src/ipc/server.rs | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/ipc/client.rs b/src/ipc/client.rs index 654890ab..55034ce0 100644 --- a/src/ipc/client.rs +++ b/src/ipc/client.rs @@ -433,6 +433,9 @@ pub fn handle_msg(msg: Msg, json: bool) -> anyhow::Result<()> { Event::WindowFocusChanged { id } => { println!("Window focus changed: {id:?}"); } + Event::WindowUrgencyChanged { id, urgent } => { + println!("Window {id}: urgency changed to {urgent}"); + } Event::KeyboardLayoutsChanged { keyboard_layouts } => { println!("Keyboard layouts changed: {keyboard_layouts:?}"); } diff --git a/src/ipc/server.rs b/src/ipc/server.rs index b3901998..ef9d9c87 100644 --- a/src/ipc/server.rs +++ b/src/ipc/server.rs @@ -476,6 +476,7 @@ fn make_ipc_window(mapped: &Mapped, workspace_id: Option<WorkspaceId>) -> niri_i workspace_id: workspace_id.map(|id| id.get()), is_focused: mapped.is_focused(), is_floating: mapped.is_floating(), + is_urgent: mapped.is_urgent(), }) } @@ -680,6 +681,11 @@ impl State { if mapped.is_focused() && !ipc_win.is_focused { events.push(Event::WindowFocusChanged { id: Some(id) }); } + + let urgent = mapped.is_urgent(); + if urgent != ipc_win.is_urgent { + events.push(Event::WindowUrgencyChanged { id, urgent }) + } }); // Check for closed windows. |
