~ruther/dwl

fbaeb853638a984c69045923eb662d783035762c — Leonardo Hernández Hernández 2 years ago 570e6e2
now really fix clients not being focused after unmapping a layer surface
1 files changed, 4 insertions(+), 5 deletions(-)

M dwl.c
M dwl.c => dwl.c +4 -5
@@ 617,7 617,7 @@ arrangelayers(Monitor *m)
		wl_list_for_each_reverse(layersurface,
				&m->layers[layers_above_shell[i]], link) {
			if (layersurface->layer_surface->current.keyboard_interactive &&
					layersurface->layer_surface->mapped) {
					layersurface->mapped) {
				/* Deactivate the focused client. */
				focusclient(NULL, 0);
				exclusive_focus = layersurface;


@@ 1177,10 1177,9 @@ focusclient(Client *c, int lift)
			struct wlr_layer_surface_v1 *wlr_layer_surface =
				wlr_layer_surface_v1_from_wlr_surface(old);

			if (wlr_layer_surface && wlr_layer_surface->mapped && (
						wlr_layer_surface->current.layer == ZWLR_LAYER_SHELL_V1_LAYER_TOP ||
						wlr_layer_surface->current.layer == ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY
						))
			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_OVERLAY))
				return;
		} else {
			Client *w;

Do not follow this link