From 94f4ead7dad89433e6087dc19950738c64bbed05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?= Date: Thu, 8 Aug 2024 14:38:43 -0600 Subject: [PATCH] actually move unmanaged clients in configurex11() only calling wlr_xwayland_surface_configure() may be not enough because we also need to move the scene node in order to make effective the configure --- dwl.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dwl.c b/dwl.c index 1500ceb..f1ab64b 100644 --- a/dwl.c +++ b/dwl.c @@ -3084,14 +3084,13 @@ configurex11(struct wl_listener *listener, void *data) { Client *c = wl_container_of(listener, c, configure); struct wlr_xwayland_surface_configure_event *event = data; - /* This also handles "unmanaged" clients (because we do not assign - * them a monitor) */ - if (!c->mon) { + if (!client_surface(c) || !client_surface(c)->mapped) { wlr_xwayland_surface_configure(c->surface.xwayland, event->x, event->y, event->width, event->height); return; } - if ((c->isfloating && c != grabc) || !c->mon->lt[c->mon->sellt]->arrange) + if ((c->isfloating && c != grabc) + || client_is_unmanaged(c) || !c->mon->lt[c->mon->sellt]->arrange) resize(c, (struct wlr_box){.x = event->x, .y = event->y, .width = event->width + c->bw * 2, .height = event->height + c->bw * 2}, 0); else