aboutsummaryrefslogtreecommitdiff
path: root/src/handlers
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-04-09 21:59:30 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-04-09 23:42:01 +0400
commit956bf7c0a84d2c5d618358b8577f361b275bf71a (patch)
tree1f008a635fb9bf0661e7dd7b2112f0cac0ec9a9d /src/handlers
parent209492e7005bd9e58b216ff7f3a0ea39670f3a5d (diff)
downloadniri-956bf7c0a84d2c5d618358b8577f361b275bf71a.tar.gz
niri-956bf7c0a84d2c5d618358b8577f361b275bf71a.tar.bz2
niri-956bf7c0a84d2c5d618358b8577f361b275bf71a.zip
Add missing mouse warp to commit unmap
Diffstat (limited to 'src/handlers')
-rw-r--r--src/handlers/compositor.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs
index e6f950a3..9b164865 100644
--- a/src/handlers/compositor.rs
+++ b/src/handlers/compositor.rs
@@ -199,8 +199,17 @@ impl CompositorHandler for State {
if !is_mapped {
// The toplevel got unmapped.
+ //
+ // Test client: wleird-unmap.
+ let active_window = self.niri.layout.active_window().map(|(m, _)| &m.window);
+ let was_active = active_window == Some(&window);
+
self.niri.layout.remove_window(&window);
+ if was_active {
+ self.maybe_warp_cursor_to_focus();
+ }
+
// Newly-unmapped toplevels must perform the initial commit-configure sequence
// afresh.
let unmapped = Unmapped::new(window);