From 993c5ce8afc78229fa42c2c7f90813eb40c34c54 Mon Sep 17 00:00:00 2001 From: Annika Hannig Date: Thu, 20 Feb 2025 20:25:43 +0100 Subject: Implement focus-monitor to focus a specific monitor by output. --- src/input/mod.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/input/mod.rs b/src/input/mod.rs index 55d06c7e..badf7cd8 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -1386,6 +1386,15 @@ impl State { self.niri.layer_shell_on_demand_focus = None; } } + Action::FocusMonitor(output) => { + if let Some(output) = self.niri.output_by_name_match(&output).cloned() { + self.niri.layout.focus_output(&output); + if !self.maybe_warp_cursor_to_focus_centered() { + self.move_cursor_to_output(&output); + } + self.niri.layer_shell_on_demand_focus = None; + } + } Action::MoveWindowToMonitorLeft => { if let Some(output) = self.niri.output_left() { self.niri.layout.move_to_output(None, &output, None); -- cgit