aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/mod.rs')
-rw-r--r--src/layout/mod.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs
index fbbd1292..5933b217 100644
--- a/src/layout/mod.rs
+++ b/src/layout/mod.rs
@@ -897,6 +897,27 @@ impl<W: LayoutElement> Layout<W> {
monitor.move_to_workspace(idx);
}
+ pub fn move_column_to_workspace_up(&mut self) {
+ let Some(monitor) = self.active_monitor() else {
+ return;
+ };
+ monitor.move_column_to_workspace_up();
+ }
+
+ pub fn move_column_to_workspace_down(&mut self) {
+ let Some(monitor) = self.active_monitor() else {
+ return;
+ };
+ monitor.move_column_to_workspace_down();
+ }
+
+ pub fn move_column_to_workspace(&mut self, idx: usize) {
+ let Some(monitor) = self.active_monitor() else {
+ return;
+ };
+ monitor.move_column_to_workspace(idx);
+ }
+
pub fn switch_workspace_up(&mut self) {
let Some(monitor) = self.active_monitor() else {
return;
@@ -1608,6 +1629,9 @@ mod tests {
MoveWindowToWorkspaceDown,
MoveWindowToWorkspaceUp,
MoveWindowToWorkspace(#[proptest(strategy = "0..=4usize")] usize),
+ MoveColumnToWorkspaceDown,
+ MoveColumnToWorkspaceUp,
+ MoveColumnToWorkspace(#[proptest(strategy = "0..=4usize")] usize),
MoveWorkspaceDown,
MoveWorkspaceUp,
MoveWindowToOutput(#[proptest(strategy = "1..=5u8")] u8),
@@ -1729,6 +1753,9 @@ mod tests {
Op::MoveWindowToWorkspaceDown => layout.move_to_workspace_down(),
Op::MoveWindowToWorkspaceUp => layout.move_to_workspace_up(),
Op::MoveWindowToWorkspace(idx) => layout.move_to_workspace(idx),
+ Op::MoveColumnToWorkspaceDown => layout.move_column_to_workspace_down(),
+ Op::MoveColumnToWorkspaceUp => layout.move_column_to_workspace_up(),
+ Op::MoveColumnToWorkspace(idx) => layout.move_column_to_workspace(idx),
Op::MoveWindowToOutput(id) => {
let name = format!("output{id}");
let Some(output) = layout.outputs().find(|o| o.name() == name).cloned() else {
@@ -1855,6 +1882,11 @@ mod tests {
Op::MoveWindowToWorkspace(1),
Op::MoveWindowToWorkspace(2),
Op::MoveWindowToWorkspace(3),
+ Op::MoveColumnToWorkspaceDown,
+ Op::MoveColumnToWorkspaceUp,
+ Op::MoveColumnToWorkspace(1),
+ Op::MoveColumnToWorkspace(2),
+ Op::MoveColumnToWorkspace(3),
Op::MoveWindowDown,
Op::MoveWindowDownOrToWorkspaceDown,
Op::MoveWindowUp,
@@ -1977,6 +2009,11 @@ mod tests {
Op::MoveWindowToWorkspace(1),
Op::MoveWindowToWorkspace(2),
Op::MoveWindowToWorkspace(3),
+ Op::MoveColumnToWorkspaceDown,
+ Op::MoveColumnToWorkspaceUp,
+ Op::MoveColumnToWorkspace(1),
+ Op::MoveColumnToWorkspace(2),
+ Op::MoveColumnToWorkspace(3),
Op::MoveWindowDown,
Op::MoveWindowDownOrToWorkspaceDown,
Op::MoveWindowUp,