diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-17 09:21:36 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-18 19:31:11 +0400 |
| commit | a55db6c6c4721c935dd93f59aec7d3eb35193d3b (patch) | |
| tree | ae0f5d6f58c44aec30c11fa2c5fe8be532e11eb0 | |
| parent | a011b385d87db2eb8ecbff2ca2bfb7862e8267df (diff) | |
| download | niri-a55db6c6c4721c935dd93f59aec7d3eb35193d3b.tar.gz niri-a55db6c6c4721c935dd93f59aec7d3eb35193d3b.tar.bz2 niri-a55db6c6c4721c935dd93f59aec7d3eb35193d3b.zip | |
Warp mouse to focus on window closing
| -rw-r--r-- | src/handlers/xdg_shell.rs | 8 |
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); } |
