aboutsummaryrefslogtreecommitdiff
path: root/src/input
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-12-29 22:44:19 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-12-30 20:12:37 +0300
commit6c897d520165bfcaf3833b6e3d4bdbd836d26063 (patch)
tree29fa7697f53facfe8bca4d12cbff1cca7e9065e7 /src/input
parent6cb5135f3477e63ed1738e19ba95a07ce52093ae (diff)
downloadniri-6c897d520165bfcaf3833b6e3d4bdbd836d26063.tar.gz
niri-6c897d520165bfcaf3833b6e3d4bdbd836d26063.tar.bz2
niri-6c897d520165bfcaf3833b6e3d4bdbd836d26063.zip
Add center-window by-id action
Diffstat (limited to 'src/input')
-rw-r--r--src/input/mod.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs
index d45d0e8a..98bbbb8e 100644
--- a/src/input/mod.rs
+++ b/src/input/mod.rs
@@ -1127,6 +1127,20 @@ impl State {
// FIXME: granular
self.niri.queue_redraw_all();
}
+ Action::CenterWindow => {
+ self.niri.layout.center_window(None);
+ // FIXME: granular
+ self.niri.queue_redraw_all();
+ }
+ Action::CenterWindowById(id) => {
+ let window = self.niri.layout.windows().find(|(_, m)| m.id().get() == id);
+ let window = window.map(|(_, m)| m.window.clone());
+ if let Some(window) = window {
+ self.niri.layout.center_window(Some(&window));
+ // FIXME: granular
+ self.niri.queue_redraw_all();
+ }
+ }
Action::MaximizeColumn => {
self.niri.layout.toggle_full_width();
}