diff options
Diffstat (limited to 'tag.c')
-rw-r--r-- | tag.c | 29 |
1 files changed, 16 insertions, 13 deletions
@@ -43,8 +43,10 @@ dofloat(Arg *arg) arrange = dofloat; for(c = clients; c; c = c->next) { - if(c->tags[tsel]) + setgeom(c); + if(c->tags[tsel]) { resize(c, True); + } else ban(c); } @@ -75,6 +77,7 @@ dotile(Arg *arg) h = sh - bh; for(i = 0, c = clients; c; c = c->next) { + setgeom(c); if(c->tags[tsel]) { if(c->isfloat) { higher(c); @@ -82,22 +85,22 @@ dotile(Arg *arg) continue; } if(n == 1) { - c->x = sx; - c->y = sy + bh; - c->w = sw - 2 * c->border; - c->h = sh - 2 * c->border - bh; + *c->x = sx; + *c->y = sy + bh; + *c->w = sw - 2 * c->border; + *c->h = sh - 2 * c->border - bh; } else if(i == 0) { - c->x = sx; - c->y = sy + bh; - c->w = mw - 2 * c->border; - c->h = sh - 2 * c->border - bh; + *c->x = sx; + *c->y = sy + bh; + *c->w = mw - 2 * c->border; + *c->h = sh - 2 * c->border - bh; } else { - c->x = sx + mw; - c->y = sy + (i - 1) * h + bh; - c->w = w - 2 * c->border; - c->h = h - 2 * c->border; + *c->x = sx + mw; + *c->y = sy + (i - 1) * h + bh; + *c->w = w - 2 * c->border; + *c->h = h - 2 * c->border; } resize(c, False); i++; |