~ruther/dwl

94f4ead7dad89433e6087dc19950738c64bbed05 — Leonardo Hernández Hernández 1 year, 2 months ago bb21ecd
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
1 files changed, 3 insertions(+), 4 deletions(-)

M dwl.c
M dwl.c => dwl.c +3 -4
@@ 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