Commit 1451edd
committed
fix(stack): Decouple fullscreen stacking layer from focus
Fullscreen clients are assigned a special stacking layer via
client_layer_translator(). Previously, this was conditioned on the
client having focus. When switching focus away from a fullscreen client
(e.g. via awful.client.focus.byidx), the fullscreen client could
intermittently remain visually on top despite losing focus, because the
layer reassignment depended on a restack that was not always triggered
by the focus change.
This is fixed by conditioning the fullscreen layer on the client being
at the top of the internal stack (i.e. the most recently raised client)
rather than on focus. Since keyboard focus changes go through raise(),
the fullscreen layer is correctly updated when switching away. Sloppy
mouse-enter focus (which does not call raise) is unaffected, as it does
not alter the internal stack order.
Signed-off-by: Alexander Melnyk <inboxnumberzero@zoho.com>1 parent a89abd5 commit 1451edd
1 file changed
+6
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
135 | | - | |
136 | | - | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
137 | 141 | | |
138 | 142 | | |
139 | 143 | | |
| |||
0 commit comments