JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
fixed issue reported by sander
authorAnselm R.Garbe <arg@10ksloc.org>
Wed, 16 Aug 2006 15:56:04 +0000 (17:56 +0200)
committerAnselm R.Garbe <arg@10ksloc.org>
Wed, 16 Aug 2006 15:56:04 +0000 (17:56 +0200)
client.c
tag.c

index 269bf8c..050e8a3 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 < 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);
diff --git a/tag.c b/tag.c
index 841d0fc..cdb0f52 100644 (file)
--- a/tag.c
+++ b/tag.c
@@ -49,12 +49,11 @@ dofloat(Arg *arg)
        }
        if(!sel || !isvisible(sel))
                sel = getnext(clients);
-       if(sel) {
+       if(sel)
                focus(sel);
-               restack();
-       }
        else
                XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
+       restack();
 }
 
 void