aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@proton.me>2024-08-08 14:38:43 -0600
committerLeonardo Hernández Hernández <leohdz172@proton.me>2024-08-08 14:46:08 -0600
commit94f4ead7dad89433e6087dc19950738c64bbed05 (patch)
treebc63d6f7a3a2b6f7409e3d2f362d0e42de78de2f
parentbb21ecda30e041fb957eca42947e093758cdf75a (diff)
downloaddwl-94f4ead7dad89433e6087dc19950738c64bbed05.tar.gz
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
-rw-r--r--dwl.c7
1 files 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