diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-29 21:11:02 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b (patch) | |
| tree | f4bf7c768d21cd72d81da6ca0d1b084631e71276 /src/input | |
| parent | 951f63b6fd48b47ca60e8ed6aa91b4a7b47534f9 (diff) | |
| download | niri-c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b.tar.gz niri-c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b.tar.bz2 niri-c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b.zip | |
Initial WIP floating window implementation
Diffstat (limited to 'src/input')
| -rw-r--r-- | src/input/mod.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs index 13ed6d7f..4e264b06 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -1294,6 +1294,25 @@ impl State { } } } + Action::ToggleWindowFloating => { + self.niri.layout.toggle_window_floating(None); + // FIXME: granular + self.niri.queue_redraw_all(); + } + Action::ToggleWindowFloatingById(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.toggle_window_floating(Some(&window)); + // FIXME: granular + self.niri.queue_redraw_all(); + } + } + Action::SwitchFocusBetweenFloatingAndTiling => { + self.niri.layout.switch_focus_floating_tiling(); + // FIXME: granular + self.niri.queue_redraw_all(); + } } } |
