add {toggle,set,unset}-urgent cli actions

This commit is contained in:
Duncan Overbruck
2025-03-27 19:38:14 +01:00
committed by Ivan Molodetskikh
parent 398bc78ea0
commit 9d3d7cb0e9
3 changed files with 58 additions and 0 deletions
+31
View File
@@ -1971,6 +1971,37 @@ impl State {
self.niri.queue_redraw_all();
}
}
Action::ToggleUrgent(id) => {
let window = self
.niri
.layout
.workspaces_mut()
.find_map(|ws| ws.windows_mut().find(|w| w.id().get() == id));
if let Some(window) = window {
let urgent = window.is_urgent();
window.set_urgent(!urgent);
}
}
Action::SetUrgent(id) => {
let window = self
.niri
.layout
.workspaces_mut()
.find_map(|ws| ws.windows_mut().find(|w| w.id().get() == id));
if let Some(window) = window {
window.set_urgent(true);
}
}
Action::UnsetUrgent(id) => {
let window = self
.niri
.layout
.workspaces_mut()
.find_map(|ws| ws.windows_mut().find(|w| w.id().get() == id));
if let Some(window) = window {
window.set_urgent(false);
}
}
}
}