summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client.h6
-rw-r--r--dwl.c1
2 files changed, 6 insertions, 1 deletions
diff --git a/client.h b/client.h
index b0f2900..71c7d76 100644
--- a/client.h
+++ b/client.h
@@ -112,8 +112,12 @@ client_set_bounds(Client *c, int32_t width, int32_t height)
return 0;
#endif
if (wl_resource_get_version(c->surface.xdg->toplevel->resource) >=
- XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION && width >= 0 && height >= 0)
+ XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION && width >= 0 && height >= 0
+ && (c->bounds.width != width || c->bounds.height != height)) {
+ c->bounds.width = width;
+ c->bounds.height = height;
return wlr_xdg_toplevel_set_bounds(c->surface.xdg->toplevel, width, height);
+ }
return 0;
}
diff --git a/dwl.c b/dwl.c
index 517062a..9e870cc 100644
--- a/dwl.c
+++ b/dwl.c
@@ -118,6 +118,7 @@ typedef struct {
struct wl_listener set_title;
struct wl_listener fullscreen;
struct wlr_box prev; /* layout-relative, includes border */
+ struct wlr_box bounds;
#ifdef XWAYLAND
struct wl_listener activate;
struct wl_listener associate;