~ruther/dwl

93a58abf2955aa01b7c148b85490d443ab017fb7 — Devin J. Pohly 3 years ago 1b139a8
Wait until map to set window's tiled state

Workaround for a bug in Chromium where it fails to attach a buffer to
the surface.  Fixes #119.
1 files changed, 4 insertions(+), 4 deletions(-)

M dwl.c
M dwl.c => dwl.c +4 -4
@@ 885,10 885,6 @@ createnotify(struct wl_listener *listener, void *data)
	c->surface.xdg = xdg_surface;
	c->bw = borderpx;

	/* Tell the client not to try anything fancy */
	wlr_xdg_toplevel_set_tiled(c->surface.xdg, WLR_EDGE_TOP |
			WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT);

	LISTEN(&xdg_surface->surface->events.commit, &c->commit, commitnotify);
	LISTEN(&xdg_surface->events.map, &c->map, mapnotify);
	LISTEN(&xdg_surface->events.unmap, &c->unmap, unmapnotify);


@@ 1308,6 1304,10 @@ mapnotify(struct wl_listener *listener, void *data)
	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->surface.xdg, WLR_EDGE_TOP |
			WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT);

	/* Set initial monitor, tags, floating status, and focus */
	applyrules(c);
}

Do not follow this link