diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-28 10:14:02 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | 5b4750a009a9ce1d3c98045c18509b1157e5519b (patch) | |
| tree | e135f66fee5c5d3b4e6abb950b500cda55e01b99 /src/layout/mod.rs | |
| parent | ad50dd21fea1912b9e21fb66a22fce517dac3aee (diff) | |
| download | niri-5b4750a009a9ce1d3c98045c18509b1157e5519b.tar.gz niri-5b4750a009a9ce1d3c98045c18509b1157e5519b.tar.bz2 niri-5b4750a009a9ce1d3c98045c18509b1157e5519b.zip | |
Add focus-floating/tiling actions
Diffstat (limited to 'src/layout/mod.rs')
| -rw-r--r-- | src/layout/mod.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs index 53c9ce6b..c11eb6ab 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -2729,6 +2729,20 @@ impl<W: LayoutElement> Layout<W> { workspace.set_window_floating(window, floating); } + pub fn focus_floating(&mut self) { + let Some(workspace) = self.active_workspace_mut() else { + return; + }; + workspace.focus_floating(); + } + + pub fn focus_tiling(&mut self) { + let Some(workspace) = self.active_workspace_mut() else { + return; + }; + workspace.focus_tiling(); + } + pub fn switch_focus_floating_tiling(&mut self) { let Some(workspace) = self.active_workspace_mut() else { return; @@ -4393,6 +4407,8 @@ mod tests { id: Option<usize>, floating: bool, }, + FocusFloating, + FocusTiling, SwitchFocusFloatingTiling, SetParent { #[proptest(strategy = "1..=5usize")] @@ -4909,6 +4925,12 @@ mod tests { let id = id.filter(|id| layout.has_window(id)); layout.set_window_floating(id.as_ref(), floating); } + Op::FocusFloating => { + layout.focus_floating(); + } + Op::FocusTiling => { + layout.focus_tiling(); + } Op::SwitchFocusFloatingTiling => { layout.switch_focus_floating_tiling(); } |
