--- a/client.c Wed Aug 16 15:57:36 2006 +0200
+++ b/client.c Wed Aug 16 17:56:04 2006 +0200
@@ -261,6 +261,10 @@
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);
--- a/tag.c Wed Aug 16 15:57:36 2006 +0200
+++ b/tag.c Wed Aug 16 17:56:04 2006 +0200
@@ -49,12 +49,11 @@
}
if(!sel || !isvisible(sel))
sel = getnext(clients);
- if(sel) {
+ if(sel)
focus(sel);
- restack();
- }
else
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
+ restack();
}
void