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);