2 files changed, 6 insertions(+), 1 deletions(-)
M client.h
M dwl.c
M client.h => client.h +5 -1
@@ 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;
}
M dwl.c => dwl.c +1 -0
@@ 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;