aboutsummaryrefslogtreecommitdiff
path: root/src/input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/input.rs')
-rw-r--r--src/input.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/input.rs b/src/input.rs
index 1d99f550..35a612bc 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -569,11 +569,23 @@ impl State {
}
Action::FocusWorkspace(idx) => {
let idx = idx.saturating_sub(1) as usize;
- self.niri.layout.switch_workspace(idx);
+
+ let config = &self.niri.config;
+ if config.borrow().input.workspace_auto_back_and_forth {
+ self.niri.layout.switch_workspace_auto_back_and_forth(idx);
+ } else {
+ self.niri.layout.switch_workspace(idx);
+ }
+
self.maybe_warp_cursor_to_focus();
// FIXME: granular
self.niri.queue_redraw_all();
}
+ Action::FocusWorkspacePrevious => {
+ self.niri.layout.switch_workspace_previous();
+ // FIXME: granular
+ self.niri.queue_redraw_all();
+ }
Action::MoveWorkspaceDown => {
self.niri.layout.move_workspace_down();
// FIXME: granular