aboutsummaryrefslogtreecommitdiff
path: root/src/window
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-05-10 22:48:11 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-05-10 22:49:55 +0300
commita2efaf2816f14ea437d88bc6b9253b1e347c4cee (patch)
tree840c4776a4a0a4e55e3b4c8057e4aa59c75e956b /src/window
parent58166914607025ae9fb20d868138238bebd4c6bc (diff)
downloadniri-a2efaf2816f14ea437d88bc6b9253b1e347c4cee.tar.gz
niri-a2efaf2816f14ea437d88bc6b9253b1e347c4cee.tar.bz2
niri-a2efaf2816f14ea437d88bc6b9253b1e347c4cee.zip
Add is-urgent window rule matcher
Diffstat (limited to 'src/window')
-rw-r--r--src/window/mapped.rs1
-rw-r--r--src/window/mod.rs6
2 files changed, 7 insertions, 0 deletions
diff --git a/src/window/mapped.rs b/src/window/mapped.rs
index da6caf54..74a0ea4b 100644
--- a/src/window/mapped.rs
+++ b/src/window/mapped.rs
@@ -520,6 +520,7 @@ impl Mapped {
if self.is_focused && urgent {
return;
}
+
let changed = self.is_urgent != urgent;
self.is_urgent = urgent;
self.need_to_recompute_rules |= changed;
diff --git a/src/window/mod.rs b/src/window/mod.rs
index 71aa607b..0b94d04d 100644
--- a/src/window/mod.rs
+++ b/src/window/mod.rs
@@ -440,6 +440,12 @@ fn window_matches(window: WindowRef, role: &XdgToplevelSurfaceRoleAttributes, m:
}
}
+ if let Some(is_urgent) = m.is_urgent {
+ if window.is_urgent() != is_urgent {
+ return false;
+ }
+ }
+
if let Some(is_active) = m.is_active {
// Our "is-active" definition corresponds to the window having a pending Activated state.
let pending_activated = server_pending