parent
e359481391
commit
8a9ab33762
2 changed files with 78 additions and 0 deletions
@ -0,0 +1,74 @@ |
||||
void |
||||
tcl(Monitor * m) |
||||
{ |
||||
int x, y, h, w, mw, sw, bdw; |
||||
unsigned int i, n; |
||||
Client * c; |
||||
|
||||
for (n = 0, c = nexttiled(m->clients); c; |
||||
c = nexttiled(c->next), n++); |
||||
|
||||
if (n == 0) |
||||
return; |
||||
|
||||
c = nexttiled(m->clients); |
||||
|
||||
mw = m->mfact * m->ww; |
||||
sw = (m->ww - mw) / 2; |
||||
bdw = (2 * c->bw); |
||||
resize(c, |
||||
n < 3 ? m->wx : m->wx + sw, |
||||
m->wy, |
||||
n == 1 ? m->ww - bdw : mw - bdw, |
||||
m->wh - bdw, |
||||
False); |
||||
|
||||
if (--n == 0) |
||||
return; |
||||
|
||||
w = (m->ww - mw) / ((n > 1) + 1); |
||||
c = nexttiled(c->next); |
||||
|
||||
if (n > 1) |
||||
{ |
||||
x = m->wx + ((n > 1) ? mw + sw : mw); |
||||
y = m->wy; |
||||
h = m->wh / (n / 2); |
||||
|
||||
if (h < bh) |
||||
h = m->wh; |
||||
|
||||
for (i = 0; c && i < n / 2; c = nexttiled(c->next), i++) |
||||
{ |
||||
resize(c, |
||||
x, |
||||
y, |
||||
w - bdw, |
||||
(i + 1 == n / 2) ? m->wy + m->wh - y - bdw : h - bdw, |
||||
False); |
||||
|
||||
if (h != m->wh) |
||||
y = c->y + HEIGHT(c); |
||||
} |
||||
} |
||||
|
||||
x = (n + 1 / 2) == 1 ? mw : m->wx; |
||||
y = m->wy; |
||||
h = m->wh / ((n + 1) / 2); |
||||
|
||||
if (h < bh) |
||||
h = m->wh; |
||||
|
||||
for (i = 0; c; c = nexttiled(c->next), i++) |
||||
{ |
||||
resize(c, |
||||
x, |
||||
y, |
||||
(i + 1 == (n + 1) / 2) ? w - bdw : w - bdw, |
||||
(i + 1 == (n + 1) / 2) ? m->wy + m->wh - y - bdw : h - bdw, |
||||
False); |
||||
|
||||
if (h != m->wh) |
||||
y = c->y + HEIGHT(c); |
||||
} |
||||
} |
Loading…
Reference in new issue