From 40d0d0f829827793c5360c4e857777df2d84f32c Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Sun, 26 Apr 2020 22:18:39 -0500 Subject: [PATCH] wait to get window geometry until map time --- dwl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dwl.c b/dwl.c index 981c7e4..f762b1d 100644 --- a/dwl.c +++ b/dwl.c @@ -403,9 +403,6 @@ createnotify(struct wl_listener *listener, void *data) Client *c = xdg_surface->data = calloc(1, sizeof(*c)); c->xdg_surface = xdg_surface; c->bw = borderpx; - wlr_xdg_surface_get_geometry(c->xdg_surface, &c->geom); - c->geom.width += 2 * c->bw; - c->geom.height += 2 * c->bw; /* Tell the client not to try anything fancy */ wlr_xdg_toplevel_set_tiled(c->xdg_surface, true); @@ -658,6 +655,9 @@ maprequest(struct wl_listener *listener, void *data) /* Called when the surface is mapped, or ready to display on-screen. */ Client *c = wl_container_of(listener, c, map); /* XXX Apply client rules here */ + wlr_xdg_surface_get_geometry(c->xdg_surface, &c->geom); + c->geom.width += 2 * c->bw; + c->geom.height += 2 * c->bw; /* Insert this client into the list and put it on selmon. */ wl_list_insert(&clients, &c->link); wl_list_insert(&fstack, &c->flink);