aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-03-17 07:48:34 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-03-18 19:31:11 +0400
commita011b385d87db2eb8ecbff2ca2bfb7862e8267df (patch)
tree66d7c4dadcd199840491586d56f93340c40c7101 /src
parent2984722f80d794af93c02fcadb157d0f8f1cc8a5 (diff)
downloadniri-a011b385d87db2eb8ecbff2ca2bfb7862e8267df.tar.gz
niri-a011b385d87db2eb8ecbff2ca2bfb7862e8267df.tar.bz2
niri-a011b385d87db2eb8ecbff2ca2bfb7862e8267df.zip
Warp mouse to focus on new window appearing
Diffstat (limited to 'src')
-rw-r--r--src/handlers/compositor.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs
index dac257d2..52c5a193 100644
--- a/src/handlers/compositor.rs
+++ b/src/handlers/compositor.rs
@@ -143,6 +143,7 @@ impl CompositorHandler for State {
})
.map(|(window, _)| window.clone());
+ let window = window.clone();
let win = window.clone();
let output = if let Some(p) = parent {
@@ -161,6 +162,12 @@ impl CompositorHandler for State {
if let Some(output) = output.cloned() {
self.niri.layout.start_open_animation_for_window(&window);
+
+ let new_active_window = self.niri.layout.active_window().map(|(w, _)| w);
+ if new_active_window == Some(&window) {
+ self.maybe_warp_cursor_to_focus();
+ }
+
self.niri.queue_redraw(output);
}
return;