aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
diff options
context:
space:
mode:
authorDennis Ranke <dennis.ranke@gmail.com>2024-02-03 20:25:08 +0100
committerIvan Molodetskikh <yalterz@gmail.com>2024-02-05 14:09:47 +0400
commit3a23417e980de908c3183749da9309e9dabc9ece (patch)
treed7dcc59da493ecf5f79d730db76aa84514250c1b /src/layout/mod.rs
parent6bb83757ee907e5ce3be617251c441c02917388e (diff)
downloadniri-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.rs22
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 {