diff options
| author | Dennis Ranke <dennis.ranke@gmail.com> | 2024-02-03 20:25:08 +0100 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-02-05 14:09:47 +0400 |
| commit | 3a23417e980de908c3183749da9309e9dabc9ece (patch) | |
| tree | d7dcc59da493ecf5f79d730db76aa84514250c1b /src/layout/mod.rs | |
| parent | 6bb83757ee907e5ce3be617251c441c02917388e (diff) | |
| download | niri-3a23417e980de908c3183749da9309e9dabc9ece.tar.gz niri-3a23417e980de908c3183749da9309e9dabc9ece.tar.bz2 niri-3a23417e980de908c3183749da9309e9dabc9ece.zip | |
Add consume-or-expel-window-left/right commands
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 111562cd..9ae89f03 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -898,6 +898,20 @@ impl<W: LayoutElement> Layout<W> { monitor.move_up_or_to_workspace_up(); } + pub fn consume_or_expel_window_left(&mut self) { + let Some(monitor) = self.active_monitor() else { + return; + }; + monitor.consume_or_expel_window_left(); + } + + pub fn consume_or_expel_window_right(&mut self) { + let Some(monitor) = self.active_monitor() else { + return; + }; + monitor.consume_or_expel_window_right(); + } + pub fn focus_left(&mut self) { let Some(monitor) = self.active_monitor() else { return; @@ -1780,6 +1794,8 @@ mod tests { MoveWindowUp, MoveWindowDownOrToWorkspaceDown, MoveWindowUpOrToWorkspaceUp, + ConsumeOrExpelWindowLeft, + ConsumeOrExpelWindowRight, ConsumeWindowIntoColumn, ExpelWindowFromColumn, CenterColumn, @@ -1906,6 +1922,8 @@ mod tests { Op::MoveWindowUp => layout.move_up(), Op::MoveWindowDownOrToWorkspaceDown => layout.move_down_or_to_workspace_down(), Op::MoveWindowUpOrToWorkspaceUp => layout.move_up_or_to_workspace_up(), + Op::ConsumeOrExpelWindowLeft => layout.consume_or_expel_window_left(), + Op::ConsumeOrExpelWindowRight => layout.consume_or_expel_window_right(), Op::ConsumeWindowIntoColumn => layout.consume_into_column(), Op::ExpelWindowFromColumn => layout.expel_from_column(), Op::CenterColumn => layout.center_column(), @@ -2072,6 +2090,8 @@ mod tests { Op::MoveWindowDownOrToWorkspaceDown, Op::MoveWindowUp, Op::MoveWindowUpOrToWorkspaceUp, + Op::ConsumeOrExpelWindowLeft, + Op::ConsumeOrExpelWindowRight, Op::MoveWorkspaceToOutput(1), ]; @@ -2203,6 +2223,8 @@ mod tests { Op::MoveWindowDownOrToWorkspaceDown, Op::MoveWindowUp, Op::MoveWindowUpOrToWorkspaceUp, + Op::ConsumeOrExpelWindowLeft, + Op::ConsumeOrExpelWindowRight, ]; for third in every_op { |
