diff -r 61490330e90a -r 75576e44c1d8 tag.c --- a/tag.c Thu Jul 20 12:18:06 2006 +0200 +++ b/tag.c Thu Jul 20 15:07:35 2006 +0200 @@ -51,8 +51,8 @@ { Client *c; - arrange = dofloat; for(c = clients; c; c = c->next) { + c->ismax = False; if(c->tags[tsel]) { resize(c, True, TopLeft); } @@ -75,7 +75,6 @@ Client *c; w = sw - mw; - arrange = dotile; for(n = 0, c = clients; c; c = c->next) if(c->tags[tsel] && !c->isfloat) n++; @@ -86,6 +85,7 @@ h = sh - bh; for(i = 0, c = clients; c; c = c->next) { + c->ismax = False; if(c->tags[tsel]) { if(c->isfloat) { higher(c); @@ -213,6 +213,13 @@ } void +togglemode(Arg *arg) +{ + arrange = arrange == dofloat ? dotile : dofloat; + arrange(NULL); +} + +void view(Arg *arg) { tsel = arg->i;