From 58f2fe3f6af3d6f8c925125c721a2d1800d750dc Mon Sep 17 00:00:00 2001 From: Anselm R. Garbe Date: Tue, 18 Jul 2006 12:36:57 +0200 Subject: implemened distinguishing float/managed geometries of clients (works quite well) --- tag.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'tag.c') diff --git a/tag.c b/tag.c index fce3c6e..d29a179 100644 --- a/tag.c +++ b/tag.c @@ -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++; -- cgit v1.2.3