set client bounds at resize

This commit is contained in:
Leonardo Hernández Hernández 2022-06-09 12:45:42 -05:00
parent 948fdcf709
commit a32db11f16
No known key found for this signature in database
GPG Key ID: E538897EE11B9624
2 changed files with 11 additions and 0 deletions

View File

@ -45,6 +45,16 @@ client_activate_surface(struct wlr_surface *s, int activated)
wlr_xdg_toplevel_set_activated(surface->toplevel, 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 static inline void
client_for_each_surface(Client *c, wlr_surface_iterator_func_t fn, void *data) client_for_each_surface(Client *c, wlr_surface_iterator_func_t fn, void *data)
{ {

1
dwl.c
View File

@ -1582,6 +1582,7 @@ resize(Client *c, int x, int y, int w, int h, int interact)
{ {
int min_width = 0, min_height = 0; int min_width = 0, min_height = 0;
struct wlr_box *bbox = interact ? &sgeom : &c->mon->w; struct wlr_box *bbox = interact ? &sgeom : &c->mon->w;
client_set_bounds(c, w, h);
client_min_size(c, &min_width, &min_height); client_min_size(c, &min_width, &min_height);
c->geom.x = x; c->geom.x = x;
c->geom.y = y; c->geom.y = y;