summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dwl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/dwl.c b/dwl.c
index 0628bfb..b675b67 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1135,6 +1135,15 @@ focusclient(Client *c, int lift)
return;
}
+#ifdef XWAYLAND
+ /* This resolves an issue where the last spawned xwayland client
+ * receives all pointer activity.
+ */
+ if (c->type == X11Managed)
+ wlr_xwayland_surface_restack(c->surface.xwayland, NULL,
+ XCB_STACK_MODE_ABOVE);
+#endif
+
/* Have a client, so focus its top-level wlr_surface */
kb = wlr_seat_get_keyboard(seat);
wlr_seat_keyboard_notify_enter(seat, client_surface(c),