From 64d62a91b6779d53b7e79c630429c2913384b1ca Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Wed, 19 Apr 2023 10:14:51 +0100 Subject: [PATCH] xwayland: handle unmanaged activate requests --- src/xwayland-unmanaged.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/xwayland-unmanaged.c b/src/xwayland-unmanaged.c index 39b221c0..a26a8f7d 100644 --- a/src/xwayland-unmanaged.c +++ b/src/xwayland-unmanaged.c @@ -158,7 +158,15 @@ unmanaged_handle_override_redirect(struct wl_listener *listener, void *data) static void unmanaged_handle_request_activate(struct wl_listener *listener, void *data) { - wlr_log(WLR_DEBUG, "request_activate not handled\n"); + wlr_log(WLR_DEBUG, "handle unmanaged request_activate"); + struct wlr_xwayland_surface *xsurface = data; + if (!xsurface->mapped) { + return; + } + struct xwayland_unmanaged *unmanaged = xsurface->data; + struct server *server = unmanaged->server; + struct seat *seat = &server->seat; + seat_focus_surface(seat, xsurface->surface); } void @@ -168,6 +176,7 @@ xwayland_unmanaged_create(struct server *server, struct xwayland_unmanaged *unmanaged = znew(*unmanaged); unmanaged->server = server; unmanaged->xwayland_surface = xsurface; + xsurface->data = unmanaged; wl_signal_add(&xsurface->events.request_configure, &unmanaged->request_configure);