|
|
@@ -317,8 +317,14 @@ zoom(Arg *arg)
|
|
|
if(!sel || sel->isfloat || n < 2 || (arrange != dotile) || maximized)
|
|
|
return;
|
|
|
|
|
|
- if((c = sel) == getnext(clients))
|
|
|
- for(c = getnext(c->next); c && c->isfloat; c = getnext(c->next));
|
|
|
+ /* this is somewhat tricky, it asserts to only zoom tiled clients */
|
|
|
+ for(c = clients; c && c->isfloat; c = getnext(c->next));
|
|
|
+ if(c) {
|
|
|
+ if(c == sel)
|
|
|
+ for(c = getnext(c->next); c && c->isfloat; c = getnext(c->next));
|
|
|
+ else
|
|
|
+ c = sel;
|
|
|
+ }
|
|
|
if(!c)
|
|
|
return;
|
|
|
detach(c);
|