From c41f93a468c4d04e16f8c89736cc48cd4ab4c623 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 5 Feb 2025 17:18:21 +0300 Subject: Add focus-window-top/bottom/down-or-top/up-or-bottom actions --- src/input/mod.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/input/mod.rs') 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(); -- cgit