Close the open pane on Escape #17

Closed
opened 2026-08-16 23:11:22 +01:00 by joshquinlan · 1 comment
Owner

Split out of #15, which fixed everything except this.

A pane is a PopupWindow and is never given the keyboard, so the
key has nowhere to land. The attempt that failed was a layer
surface holding the keyboard exclusively: it pinned focus, so
the compositor never saw focus leave, the grab never cleared,
and no pane could be dismissed by any means.

The route that does not touch focus is a non-consuming Hyprland
bind (the n flag), added when a pane opens and removed when it
closes, so Escape still reaches applications the rest of the
time and no bind is left behind if the shell dies. Worth
checking hyprctl keyword bindn and unbind behave under the Lua
configuration before committing to it.

Split out of #15, which fixed everything except this. A pane is a PopupWindow and is never given the keyboard, so the key has nowhere to land. The attempt that failed was a layer surface holding the keyboard exclusively: it pinned focus, so the compositor never saw focus leave, the grab never cleared, and no pane could be dismissed by any means. The route that does not touch focus is a non-consuming Hyprland bind (the n flag), added when a pane opens and removed when it closes, so Escape still reaches applications the rest of the time and no bind is left behind if the shell dies. Worth checking hyprctl keyword bindn and unbind behave under the Lua configuration before committing to it.
Author
Owner

Moved to donbox#4 as part of the rewrite.

Moved to donbox#4 as part of the rewrite.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joshquinlan/dotfiles#17
No description provided.