diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-29 22:44:19 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | 6c897d520165bfcaf3833b6e3d4bdbd836d26063 (patch) | |
| tree | 29fa7697f53facfe8bca4d12cbff1cca7e9065e7 /src/input | |
| parent | 6cb5135f3477e63ed1738e19ba95a07ce52093ae (diff) | |
| download | niri-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.rs | 14 |
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(); } |
