summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-06-09 12:45:42 -0500
committerLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-06-09 12:45:42 -0500
commita32db11f16fae3f57af3795d2463996b95e7ba1c (patch)
tree9029cfca6dd1a6885be1d68749bd32186f468fab
parent948fdcf709e86f380eef26ee529683d2c396e58a (diff)
set client bounds at resize
-rw-r--r--client.h10
-rw-r--r--dwl.c1
2 files changed, 11 insertions, 0 deletions
diff --git a/client.h b/client.h
index 6648c59..9431d11 100644
--- a/client.h
+++ b/client.h
@@ -45,6 +45,16 @@ client_activate_surface(struct wlr_surface *s, int activated)
wlr_xdg_toplevel_set_activated(surface->toplevel, activated);
}
+static inline uint32_t
+client_set_bounds(Client *c, int32_t width, int32_t height)
+{
+#ifdef XWAYLAND
+ if (client_is_x11(c))
+ return 0;
+#endif
+ return wlr_xdg_toplevel_set_bounds(c->surface.xdg->toplevel, width, height);
+}
+
static inline void
client_for_each_surface(Client *c, wlr_surface_iterator_func_t fn, void *data)
{
diff --git a/dwl.c b/dwl.c
index 852eecf..b56abd7 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1582,6 +1582,7 @@ resize(Client *c, int x, int y, int w, int h, int interact)
{
int min_width = 0, min_height = 0;
struct wlr_box *bbox = interact ? &sgeom : &c->mon->w;
+ client_set_bounds(c, w, h);
client_min_size(c, &min_width, &min_height);
c->geom.x = x;
c->geom.y = y;