aboutsummaryrefslogtreecommitdiff
path: root/src/input
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-02-05 17:18:21 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-02-05 17:25:51 +0300
commitc41f93a468c4d04e16f8c89736cc48cd4ab4c623 (patch)
tree3f6e8fb315550288b4e293e873b13dbf2d421486 /src/input
parent900da597e4d3d09ad4c4ddc3ba2abf58c4886ec9 (diff)
downloadniri-c41f93a468c4d04e16f8c89736cc48cd4ab4c623.tar.gz
niri-c41f93a468c4d04e16f8c89736cc48cd4ab4c623.tar.bz2
niri-c41f93a468c4d04e16f8c89736cc48cd4ab4c623.zip
Add focus-window-top/bottom/down-or-top/up-or-bottom actions
Diffstat (limited to 'src/input')
-rw-r--r--src/input/mod.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs
index b6eb0e3d..9f5f363c 100644
--- a/src/input/mod.rs
+++ b/src/input/mod.rs
@@ -987,6 +987,34 @@ impl State {
// FIXME: granular
self.niri.queue_redraw_all();
}
+ Action::FocusWindowTop => {
+ self.niri.layout.focus_window_top();
+ self.maybe_warp_cursor_to_focus();
+ self.niri.layer_shell_on_demand_focus = None;
+ // FIXME: granular
+ self.niri.queue_redraw_all();
+ }
+ Action::FocusWindowBottom => {
+ self.niri.layout.focus_window_bottom();
+ self.maybe_warp_cursor_to_focus();
+ self.niri.layer_shell_on_demand_focus = None;
+ // FIXME: granular
+ self.niri.queue_redraw_all();
+ }
+ Action::FocusWindowDownOrTop => {
+ self.niri.layout.focus_window_down_or_top();
+ self.maybe_warp_cursor_to_focus();
+ self.niri.layer_shell_on_demand_focus = None;
+ // FIXME: granular
+ self.niri.queue_redraw_all();
+ }
+ Action::FocusWindowUpOrBottom => {
+ self.niri.layout.focus_window_up_or_bottom();
+ self.maybe_warp_cursor_to_focus();
+ self.niri.layer_shell_on_demand_focus = None;
+ // FIXME: granular
+ self.niri.queue_redraw_all();
+ }
Action::MoveWindowToWorkspaceDown => {
self.niri.layout.move_to_workspace_down();
self.maybe_warp_cursor_to_focus();