~ruther/dwl

26a3c64dcf825ff604044958781cb9553f897515 — Rutherther 11 months ago a5f2587
Make sure whole client is inside of bounds in applybounds
1 files changed, 7 insertions(+), 2 deletions(-)

M dwl.c
M dwl.c => dwl.c +7 -2
@@ 432,14 432,19 @@ 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);

	printf("Current pos: %d,%d, %dx%d\n", c->geom.x, c->geom.y, c->geom.width, c->geom.height);
	printf("Applying bounds: %d,%d, %dx%d\n", bbox->x, bbox->y, bbox->width, bbox->height);

	if (c->geom.x >= bbox->x + bbox->width)
		c->geom.x = bbox->x + bbox->width - c->geom.width;
	if (c->geom.y >= 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;

	printf("Updated pos: %d,%d, %dx%d\n", c->geom.x, c->geom.y, c->geom.width, c->geom.height);
}

void

Do not follow this link