added general centralization rule for new clients (works around various borken apps)

This commit is contained in:
Anselm R.Garbe 2006-08-16 15:57:36 +02:00
parent 4cc0551948
commit a20b10d01f
2 changed files with 14 additions and 2 deletions

View File

@ -187,7 +187,7 @@ killclient(Arg *arg)
void void
manage(Window w, XWindowAttributes *wa) manage(Window w, XWindowAttributes *wa)
{ {
Client *c; Client *c, *tc;
Window trans; Window trans;
XSetWindowAttributes twa; XSetWindowAttributes twa;
@ -258,6 +258,15 @@ manage(Window w, XWindowAttributes *wa)
c->maxw == c->minw && c->maxh == c->minh); c->maxw == c->minw && c->maxh == c->minh);
settitle(c); settitle(c);
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);
}
else {
c->x = (sw / 2) - (c->w / 2);
c->y = ((sh - bh) / 2) - (c->h / 2) + bh;
}
if(isvisible(c)) if(isvisible(c))
sel = c; sel = c;
arrange(NULL); arrange(NULL);

5
tag.c
View File

@ -281,7 +281,10 @@ void
togglemode(Arg *arg) togglemode(Arg *arg)
{ {
arrange = arrange == dofloat ? dotile : dofloat; arrange = arrange == dofloat ? dotile : dofloat;
arrange(NULL); if(sel)
arrange(NULL);
else
drawstatus();
} }
void void