From be330a0c6d28edec04bf4a99d8a217769caa378e Mon Sep 17 00:00:00 2001 From: rope Date: Fri, 12 Jun 2026 19:49:25 +0100 Subject: [PATCH] =?UTF-8?q?quickshell:=20OnDemand=20keyboard=20with=20focu?= =?UTF-8?q?s=20grab=20=E2=80=94=20Exclusive=20made=20the=20grab=20self-cle?= =?UTF-8?q?ar=20and=20close=20panels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- settings/quickshell.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/settings/quickshell.nix b/settings/quickshell.nix index ce6b419..c8cb47b 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -271,8 +271,11 @@ in required property var shellRoot screen: modelData WlrLayershell.namespace: "quickshell-bar" - // Keyboard only while the session menu is open (arrow/Enter nav) - WlrLayershell.keyboardFocus: sessionMenu.open || launcherPanel.open ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None + // OnDemand + HyprlandFocusGrab is the working combination + // (caelestia's): the grab redirects focus to this window and + // OnDemand lets the layer surface accept it. Exclusive fights + // the grab — it self-clears and instantly closes the panel. + WlrLayershell.keyboardFocus: sessionMenu.open || launcherPanel.open ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None anchors { top: true