aewl

diff view.c @ 423:6ba5dd429122

applied checking existance of >2 tiles patch (proposed by sander) to zoom and resizecol
author Anselm R. Garbe <arg@10kloc.org>
date Tue, 05 Sep 2006 16:00:09 +0200
parents 44225ee80236
children 67f37b93ac73
line diff
     1.1 --- a/view.c	Tue Sep 05 13:52:23 2006 +0200
     1.2 +++ b/view.c	Tue Sep 05 16:00:09 2006 +0200
     1.3 @@ -183,10 +183,15 @@
     1.4  void
     1.5  resizecol(Arg *arg)
     1.6  {
     1.7 -	Client *c = getnext(clients);
     1.8 +	unsigned int n;
     1.9 +	Client *c;
    1.10  
    1.11 -	if(!sel || !getnext(c->next) || (arrange != dotile))
    1.12 +	for(n = 0, c = clients; c; c = c->next)
    1.13 +		if(isvisible(c) && !c->isfloat)
    1.14 +			n++;
    1.15 +	if(!sel || sel->isfloat || n < 2 || (arrange != dotile) || maximized)
    1.16  		return;
    1.17 +
    1.18  	if(sel == getnext(clients)) {
    1.19  		if(mw + arg->i > sw - 100)
    1.20  			return;
    1.21 @@ -303,12 +308,16 @@
    1.22  void
    1.23  zoom(Arg *arg)
    1.24  {
    1.25 -	Client *c = sel;
    1.26 +	unsigned int n;
    1.27 +	Client *c;
    1.28  
    1.29 -	if(!c || (arrange != dotile) || c->isfloat || maximized)
    1.30 +	for(n = 0, c = clients; c; c = c->next)
    1.31 +		if(isvisible(c) && !c->isfloat)
    1.32 +			n++;
    1.33 +	if(!sel || sel->isfloat || n < 2 || (arrange != dotile) || maximized)
    1.34  		return;
    1.35  
    1.36 -	if(c == getnext(clients))
    1.37 +	if((c = sel)  == getnext(clients))
    1.38  		if(!(c = getnext(c->next)))
    1.39  			return;
    1.40  	detach(c);