implemened distinguishing float/managed geometries of clients (works quite well)
This commit is contained in:
29
tag.c
29
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++;
|
||||
|
Reference in New Issue
Block a user