From 189a735eaa16a01b491518fc5db5183ef0c6d76b Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 5 May 2017 14:14:19 +0000 Subject: Ensure clients stay within the viewable bounds on placement, even with empty borders; based on a patch from Vadim Vygonets. --- client.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/client.c b/client.c index 72f0183..e7ab123 100644 --- a/client.c +++ b/client.c @@ -761,14 +761,14 @@ client_placecalc(struct client_ctx *cc) wmax = DisplayWidth(X_Dpy, sc->which); hmax = DisplayHeight(X_Dpy, sc->which); - if (cc->geom.x + (cc->bwidth * 2) >= wmax) - cc->geom.x = wmax - (cc->bwidth * 2); - if (cc->geom.x + cc->geom.w - (cc->bwidth * 2) < 0) - cc->geom.x = -cc->geom.w; - if (cc->geom.y + (cc->bwidth * 2) >= hmax) - cc->geom.y = hmax - (cc->bwidth * 2); - if (cc->geom.y + cc->geom.h - (cc->bwidth * 2) < 0) - cc->geom.y = -cc->geom.h; + if (cc->geom.x >= wmax) + cc->geom.x = wmax - cc->bwidth - 1; + if (cc->geom.x + cc->geom.w + cc->bwidth <= 0) + cc->geom.x = -(cc->geom.w + cc->bwidth - 1); + if (cc->geom.y >= hmax) + cc->geom.x = hmax - cc->bwidth - 1; + if (cc->geom.y + cc->geom.h + cc->bwidth <= 0) + cc->geom.y = -(cc->geom.h + cc->bwidth - 1); } else { struct geom area; int xmouse, ymouse; -- cgit 1.4.1