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

pull/1/head
Anselm R.Garbe 19 years ago
parent 4cc0551948
commit a20b10d01f
  1. 11
      client.c
  2. 5
      tag.c

@ -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);

@ -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

Loading…
Cancel
Save