summaryrefslogtreecommitdiff
path: root/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'client.c')
-rw-r--r--client.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/client.c b/client.c
index 269bf8c6..050e8a3b 100644
--- a/client.c
+++ b/client.c
@@ -261,6 +261,10 @@ manage(Window w, XWindowAttributes *wa)
if(trans && (tc = getclient(trans))) {
c->x = (tc->x + tc->w / 2) - (c->w / 2);
c->y = (tc->y + tc->h / 2) - (c->h / 2);
+ if(c->x < 0 || c->x >= sw)
+ c->x = (sw / 2) - (c->w / 2);
+ if(c->y < 0 || c->y >= sh)
+ c->y = ((sh - bh) / 2) - (c->h / 2) + bh;
}
else {
c->x = (sw / 2) - (c->w / 2);