factor xwayland hackiness out into client.h

This commit is contained in:
Devin J. Pohly 2021-05-23 18:28:13 -05:00
parent 56d93898ea
commit 06ca860092
2 changed files with 12 additions and 10 deletions

View File

@ -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); 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 * static inline struct wlr_surface *
client_surface(Client *c) client_surface(Client *c)
{ {

11
dwl.c
View File

@ -1304,17 +1304,8 @@ mapnotify(struct wl_listener *listener, void *data)
c->geom.width += 2 * c->bw; c->geom.width += 2 * c->bw;
c->geom.height += 2 * c->bw; c->geom.height += 2 * c->bw;
#ifdef XWAYLAND
if (c->type == XDGShell) {
/* Tell the client not to try anything fancy */ /* Tell the client not to try anything fancy */
wlr_xdg_toplevel_set_tiled(c->surface.xdg, WLR_EDGE_TOP | client_set_tiled(c, WLR_EDGE_TOP | WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT);
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
/* Set initial monitor, tags, floating status, and focus */ /* Set initial monitor, tags, floating status, and focus */
applyrules(c); applyrules(c);