forked from mirror/dwl
now really fix clients not being focused after unmapping a layer surface
This commit is contained in:
parent
570e6e2c27
commit
fbaeb85363
1 changed files with 4 additions and 5 deletions
9
dwl.c
9
dwl.c
|
@ -617,7 +617,7 @@ arrangelayers(Monitor *m)
|
||||||
wl_list_for_each_reverse(layersurface,
|
wl_list_for_each_reverse(layersurface,
|
||||||
&m->layers[layers_above_shell[i]], link) {
|
&m->layers[layers_above_shell[i]], link) {
|
||||||
if (layersurface->layer_surface->current.keyboard_interactive &&
|
if (layersurface->layer_surface->current.keyboard_interactive &&
|
||||||
layersurface->layer_surface->mapped) {
|
layersurface->mapped) {
|
||||||
/* Deactivate the focused client. */
|
/* Deactivate the focused client. */
|
||||||
focusclient(NULL, 0);
|
focusclient(NULL, 0);
|
||||||
exclusive_focus = layersurface;
|
exclusive_focus = layersurface;
|
||||||
|
@ -1177,10 +1177,9 @@ focusclient(Client *c, int lift)
|
||||||
struct wlr_layer_surface_v1 *wlr_layer_surface =
|
struct wlr_layer_surface_v1 *wlr_layer_surface =
|
||||||
wlr_layer_surface_v1_from_wlr_surface(old);
|
wlr_layer_surface_v1_from_wlr_surface(old);
|
||||||
|
|
||||||
if (wlr_layer_surface && wlr_layer_surface->mapped && (
|
if (wlr_layer_surface && ((LayerSurface *)wlr_layer_surface->data)->mapped
|
||||||
wlr_layer_surface->current.layer == ZWLR_LAYER_SHELL_V1_LAYER_TOP ||
|
&& (wlr_layer_surface->current.layer == ZWLR_LAYER_SHELL_V1_LAYER_TOP
|
||||||
wlr_layer_surface->current.layer == ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY
|
|| wlr_layer_surface->current.layer == ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY))
|
||||||
))
|
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
Client *w;
|
Client *w;
|
||||||
|
|
Loading…
Reference in a new issue