diff --git a/dwl.c b/dwl.c index bf763df..c4b5333 100644 --- a/dwl.c +++ b/dwl.c @@ -432,13 +432,13 @@ applybounds(Client *c, struct wlr_box *bbox) c->geom.width = MAX(1 + 2 * (int)c->bw, c->geom.width); c->geom.height = MAX(1 + 2 * (int)c->bw, c->geom.height); - if (c->geom.x >= bbox->x + bbox->width) + if (c->geom.x + c->geom.width >= bbox->x + bbox->width) c->geom.x = bbox->x + bbox->width - c->geom.width; - if (c->geom.y >= bbox->y + bbox->height) + if (c->geom.y + c->geom.height >= bbox->y + bbox->height) c->geom.y = bbox->y + bbox->height - c->geom.height; - if (c->geom.x + c->geom.width + 2 * (int)c->bw <= bbox->x) + if (c->geom.x < bbox->x) c->geom.x = bbox->x; - if (c->geom.y + c->geom.height + 2 * (int)c->bw <= bbox->y) + if (c->geom.y < bbox->y) c->geom.y = bbox->y; } @@ -2034,7 +2034,7 @@ requestmonstate(struct wl_listener *listener, void *data) void resize(Client *c, struct wlr_box geo, int interact) { - struct wlr_box *bbox = interact ? &sgeom : &c->mon->w; + struct wlr_box *bbox = interact ? &sgeom : &c->mon->m; struct wlr_box clip; client_set_bounds(c, geo.width, geo.height); c->geom = geo;