JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
condition was insufficient
[dwm.git] / client.c
index 269bf8c..0a54d81 100644 (file)
--- 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 + c->w < 0) || (c->x >= sw))
+                       c->x = (sw / 2) - (c->w / 2);
+               if((c->y + c->h < 0) || (c->y >= sh))
+                       c->y = ((sh - bh) / 2) - (c->h / 2) + bh;
        }
        else {
                c->x = (sw / 2) - (c->w / 2);