Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
fix(focus): restore window manager focus when layer-surface unmaps
src/server/layer_shell.rs | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/server/layer_shell.rs b/src/server/layer_shell.rs
index c3d7a49..b114657 100644
--- a/src/server/layer_shell.rs
+++ b/src/server/layer_shell.rs
@@ -507,6 +507,7 @@ unsafe extern "C" fn handle_layer_surface_unmap(listener: *mut ffi::wl_listener,
if let crate::seat::Focus::LayerSurface(surface) = (*seat).focused {
if surface == (*wlr_layer_surface).surface {
(*seat).focus(crate::seat::Focus::None);
+ (*server).wm.focus_next_visible_window(seat);
}
}
if let LayerShellSeatFocus::NonExclusive(key) = (*seat).layer_shell.scheduled_focus {