# HG changeset patch # User Anselm R.Garbe # Date 1155736656 -7200 # Node ID 71f02d14dce156db6c1bca44c70cf2a31e2b97d0 # Parent f7978c6395f5b2b5b6fd0a41009f6337dee173a8 added general centralization rule for new clients (works around various borken apps) diff -r f7978c6395f5 -r 71f02d14dce1 client.c --- a/client.c Wed Aug 16 15:31:24 2006 +0200 +++ b/client.c Wed Aug 16 15:57:36 2006 +0200 @@ -187,7 +187,7 @@ void manage(Window w, XWindowAttributes *wa) { - Client *c; + Client *c, *tc; Window trans; XSetWindowAttributes twa; @@ -258,6 +258,15 @@ c->maxw == c->minw && c->maxh == c->minh); 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)) sel = c; arrange(NULL); diff -r f7978c6395f5 -r 71f02d14dce1 tag.c --- a/tag.c Wed Aug 16 15:31:24 2006 +0200 +++ b/tag.c Wed Aug 16 15:57:36 2006 +0200 @@ -281,7 +281,10 @@ togglemode(Arg *arg) { arrange = arrange == dofloat ? dotile : dofloat; - arrange(NULL); + if(sel) + arrange(NULL); + else + drawstatus(); } void