From e55d16b87bc00d24b03a0d3924e04125f0ae6be1 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Mon, 27 Oct 2025 16:22:16 -0400 Subject: [PATCH] fix: unset grab if focusing exclusive layer shell surface --- src/shell/focus/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/shell/focus/mod.rs b/src/shell/focus/mod.rs index 34fee301..311faf8b 100644 --- a/src/shell/focus/mod.rs +++ b/src/shell/focus/mod.rs @@ -375,6 +375,14 @@ fn update_focus_state( } } + if target.is_some_and(|t| { + matches!( + t, + KeyboardFocusTarget::LayerSurface(layer_surface) if layer_surface.cached_state().keyboard_interactivity == KeyboardInteractivity::Exclusive + ) + }) { + keyboard.unset_grab(state); + } let serial = serial.unwrap_or_else(|| SERIAL_COUNTER.next_serial()); state .common