What's wrong?
When the scratchpad is shown while it contains no windows, keyboard input can still be delivered to the tiled window underneath it. For example, pressing Escape affects the underlying application while the empty scratchpad remains visible.
Steps to reproduce
- Make sure
special:scratchpad contains no windows.
- Focus a tiled application that reacts visibly to
Escape.
- Press
Super + S to show the scratchpad.
- Press
Escape.
- Observe that the underlying tiled application receives the key and the empty scratchpad remains shown.
Expected behavior
When the scratchpad is empty and visible, pressing Escape should dismiss it instead of being forwarded to the underlying tiled window.
This behavior should be limited to the empty state. If the scratchpad contains a focused window, Escape should continue to be delivered normally to that window.
More generally, showing an empty scratchpad should not cause keyboard input to interact unexpectedly with an obscured underlying window.
Possibly relevant
The stock Super + S binding directly invokes hl.dsp.workspace.toggle_special("scratchpad"). There does not appear to be any empty-state input handling that can intercept Escape and hide the special workspace.
What's wrong?
When the scratchpad is shown while it contains no windows, keyboard input can still be delivered to the tiled window underneath it. For example, pressing
Escapeaffects the underlying application while the empty scratchpad remains visible.Steps to reproduce
special:scratchpadcontains no windows.Escape.Super + Sto show the scratchpad.Escape.Expected behavior
When the scratchpad is empty and visible, pressing
Escapeshould dismiss it instead of being forwarded to the underlying tiled window.This behavior should be limited to the empty state. If the scratchpad contains a focused window,
Escapeshould continue to be delivered normally to that window.More generally, showing an empty scratchpad should not cause keyboard input to interact unexpectedly with an obscured underlying window.
Possibly relevant
The stock
Super + Sbinding directly invokeshl.dsp.workspace.toggle_special("scratchpad"). There does not appear to be any empty-state input handling that can interceptEscapeand hide the special workspace.