aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnnika Hannig <annika@hannig.cc>2025-02-20 20:25:43 +0100
committerIvan Molodetskikh <yalterz@gmail.com>2025-03-10 23:17:36 -0700
commit993c5ce8afc78229fa42c2c7f90813eb40c34c54 (patch)
tree7cd666d7a1c6f241ac11a9fb6777690d0cd744af /src
parent47dd338340e2c8c17ce210579bcdcf8f320d755e (diff)
downloadniri-993c5ce8afc78229fa42c2c7f90813eb40c34c54.tar.gz
niri-993c5ce8afc78229fa42c2c7f90813eb40c34c54.tar.bz2
niri-993c5ce8afc78229fa42c2c7f90813eb40c34c54.zip
Implement focus-monitor to focus a specific monitor by output.
Diffstat (limited to 'src')
-rw-r--r--src/input/mod.rs9
1 files changed, 9 insertions, 0 deletions
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);