aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-03-17 09:21:36 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-03-18 19:31:11 +0400
commita55db6c6c4721c935dd93f59aec7d3eb35193d3b (patch)
treeae0f5d6f58c44aec30c11fa2c5fe8be532e11eb0 /src
parenta011b385d87db2eb8ecbff2ca2bfb7862e8267df (diff)
downloadniri-a55db6c6c4721c935dd93f59aec7d3eb35193d3b.tar.gz
niri-a55db6c6c4721c935dd93f59aec7d3eb35193d3b.tar.bz2
niri-a55db6c6c4721c935dd93f59aec7d3eb35193d3b.zip
Warp mouse to focus on window closing
Diffstat (limited to 'src')
-rw-r--r--src/handlers/xdg_shell.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs
index 7302c2ac..ec40bb7e 100644
--- a/src/handlers/xdg_shell.rs
+++ b/src/handlers/xdg_shell.rs
@@ -460,7 +460,15 @@ impl XdgShellHandler for State {
return;
};
+ let active_window = self.niri.layout.active_window().map(|(w, _)| w);
+ let was_active = active_window == Some(&window);
+
self.niri.layout.remove_window(&window);
+
+ if was_active {
+ self.maybe_warp_cursor_to_focus();
+ }
+
self.niri.queue_redraw(output);
}