~ruther/dwl

06ca86009296c1b8753cba259fd797703a281bbd — Devin J. Pohly 3 years ago 56d9389
factor xwayland hackiness out into client.h
2 files changed, 12 insertions(+), 10 deletions(-)

M client.h
M dwl.c
M client.h => client.h +11 -0
@@ 141,6 141,17 @@ client_set_size(Client *c, uint32_t width, uint32_t height)
	return wlr_xdg_toplevel_set_size(c->surface.xdg, width, height);
}

static inline void
client_set_tiled(Client *c, uint32_t edges)
{
#ifdef XWAYLAND
	if (client_is_x11(c))
		return;
#endif
	wlr_xdg_toplevel_set_tiled(c->surface.xdg, WLR_EDGE_TOP |
			WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT);
}

static inline struct wlr_surface *
client_surface(Client *c)
{

M dwl.c => dwl.c +1 -10
@@ 1304,17 1304,8 @@ mapnotify(struct wl_listener *listener, void *data)
	c->geom.width += 2 * c->bw;
	c->geom.height += 2 * c->bw;

#ifdef XWAYLAND
	if (c->type == XDGShell) {
		/* 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);
	}
#else
	/* 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);
#endif
	client_set_tiled(c, 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