diff options
| author | Anselm R.Garbe <arg@10ksloc.org> | 2006-08-16 15:57:36 +0200 | 
|---|---|---|
| committer | Anselm R.Garbe <arg@10ksloc.org> | 2006-08-16 15:57:36 +0200 | 
| commit | a20b10d01fab9e844ba7cd2cf694b45f61b89f7c (patch) | |
| tree | e09c1ad326198bfc47bea127593409184453b0d3 | |
| parent | 4cc0551948074c82c5b66231f407fd9c142b12cc (diff) | |
added general centralization rule for new clients (works around various borken apps)
| -rw-r--r-- | client.c | 11 | ||||
| -rw-r--r-- | tag.c | 5 | 
2 files changed, 14 insertions, 2 deletions
| @@ -187,7 +187,7 @@ killclient(Arg *arg)  void  manage(Window w, XWindowAttributes *wa)  { -	Client *c; +	Client *c, *tc;  	Window trans;  	XSetWindowAttributes twa; @@ -258,6 +258,15 @@ manage(Window w, XWindowAttributes *wa)  				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); @@ -281,7 +281,10 @@ void  togglemode(Arg *arg)  {  	arrange = arrange == dofloat ? dotile : dofloat; -	arrange(NULL); +	if(sel) +		arrange(NULL); +	else +		drawstatus();  }  void | 
