diff --git a/src/client.c b/src/client.c index 6b3db6b1de4a345d5e0fd564486dd1f16d08b228..3b77536ade1714b18810820a425e366eda7182b5 100644 --- a/src/client.c +++ b/src/client.c @@ -1326,21 +1326,21 @@ static inline void clientConstraintPos(Client *c) g_return_if_fail(c != NULL); DBG("entering clientConstraintPos\n"); DBG("client \"%s\" (%#lx)\n", c->name, c->window); - if ((c->x + c->width) < CLIENT_MIN_VISIBLE) + if ((c->x + c->width) < CLIENT_MIN_VISIBLE + (int) margins[MARGIN_LEFT]) { - c->x = CLIENT_MIN_VISIBLE - c->width ; + c->x = CLIENT_MIN_VISIBLE + (int) margins[MARGIN_LEFT] - c->width ; } - else if ((c->x + CLIENT_MIN_VISIBLE) > XDisplayWidth(dpy, screen)) + else if ((c->x + CLIENT_MIN_VISIBLE) > XDisplayWidth(dpy, screen) - (int) margins[MARGIN_RIGHT]) { - c->x = XDisplayWidth(dpy, screen) - CLIENT_MIN_VISIBLE; + c->x = XDisplayWidth(dpy, screen) - (int) margins[MARGIN_RIGHT] - CLIENT_MIN_VISIBLE; } - if ((c->y + c->height) < CLIENT_MIN_VISIBLE) + if ((c->y + c->height) < CLIENT_MIN_VISIBLE + (int) margins[MARGIN_TOP]) { - c->y = CLIENT_MIN_VISIBLE - c->height; + c->y = CLIENT_MIN_VISIBLE + (int) margins[MARGIN_TOP] - c->height; } - else if (c->y + CLIENT_MIN_VISIBLE > XDisplayHeight(dpy, screen)) + else if (c->y + CLIENT_MIN_VISIBLE > XDisplayHeight(dpy, screen) - (int) margins[MARGIN_BOTTOM]) { - c->y = XDisplayHeight(dpy, screen) - CLIENT_MIN_VISIBLE; + c->y = XDisplayHeight(dpy, screen) - (int) margins[MARGIN_BOTTOM] - CLIENT_MIN_VISIBLE; } }