diff options
author | Anselm R.Garbe | 2006-08-16 17:56:04 +0200 |
---|---|---|
committer | Anselm R.Garbe | 2006-08-16 17:56:04 +0200 |
commit | ad2e77d6350b1f43513d052018735d2a8f949d78 (patch) | |
tree | 85e55198b8bf2c86f77d926d7e190b211630fd38 | |
parent | a20b10d01fab9e844ba7cd2cf694b45f61b89f7c (diff) |
fixed issue reported by sander
-rw-r--r-- | client.c | 4 | ||||
-rw-r--r-- | tag.c | 5 |
2 files changed, 6 insertions, 3 deletions
@@ -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); @@ -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 |