From 06b19f0e9fcbaaf0c8ec48c1b88fb06efcfa59e0 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Mon, 2 Oct 2023 22:04:40 +0100 Subject: [PATCH] cursor: fix layer subsurface focus bug ...by simply not focusing layer-shell subsurfaces on button press. This is a temporary patch to fix a regression. Fixes: issue #1131 --- src/cursor.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cursor.c b/src/cursor.c index 773cd76a..f100a9c9 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -914,9 +914,12 @@ cursor_button_press(struct seat *seat, struct wlr_pointer_button_event *event) seat_set_focus_layer(seat, layer); } } - if (ctx.type == LAB_SSD_LAYER_SUBSURFACE) { - seat_focus_surface(seat, ctx.surface); - } + + /* + * TODO: We may need to handle press on layer-shell subsurfaces here, + * but need to check keyboard interactivity before focusing them + * otherwise we break waybar. See issue #1131 + */ if (ctx.type != LAB_SSD_CLIENT && ctx.type != LAB_SSD_LAYER_SUBSURFACE && wlr_seat_pointer_has_grab(seat->seat)) {