changeset 898 | 6c8b43d7b616 |
parent 892 | 42bf8e618d52 |
child 901 | 8f6f61e07567 |
897:0a78c9e46e24 | 898:6c8b43d7b616 |
---|---|
13 static unsigned int masterw = MASTERWIDTH; |
13 static unsigned int masterw = MASTERWIDTH; |
14 static unsigned int nmaster = NMASTER; |
14 static unsigned int nmaster = NMASTER; |
15 |
15 |
16 static void |
16 static void |
17 tile(void) { |
17 tile(void) { |
18 unsigned int i, n, nx, ny, nw, nh, mw, mh, tw, th, remainder; |
18 unsigned int i, n, nx, ny, nw, nh, mw, mh, tw, th; |
19 Client *c; |
19 Client *c; |
20 |
20 |
21 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) |
21 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) |
22 n++; |
22 n++; |
23 /* window geoms */ |
23 /* window geoms */ |
24 mh = (n > nmaster) ? wah / nmaster : wah / (n > 0 ? n : 1); |
24 mh = (n > nmaster) ? wah / nmaster : wah / (n > 0 ? n : 1); |
25 mw = (n > nmaster) ? (waw * masterw) / 1000 : waw; |
25 mw = (n > nmaster) ? (waw * masterw) / 1000 : waw; |
26 th = (n > nmaster) ? wah / (n - nmaster) : 0; |
26 th = (n > nmaster) ? wah / (n - nmaster) : 0; |
27 remainder = (n > nmaster) ? wah - th * (n - nmaster) : 0; |
|
28 tw = waw - mw; |
27 tw = waw - mw; |
29 |
28 |
30 for(i = 0, c = clients; c; c = c->next) |
29 for(i = 0, c = clients; c; c = c->next) |
31 if(isvisible(c)) { |
30 if(isvisible(c)) { |
32 if(c->isbanned) |
31 if(c->isbanned) |
38 nx = wax; |
37 nx = wax; |
39 ny = way; |
38 ny = way; |
40 if(i < nmaster) { |
39 if(i < nmaster) { |
41 ny += i * mh; |
40 ny += i * mh; |
42 nw = mw - 2 * c->border; |
41 nw = mw - 2 * c->border; |
43 nh = mh - 2 * c->border; |
42 nh = mh; |
43 if(i + 1 == nmaster) /* remainder */ |
|
44 nh = wah - mh * i; |
|
45 nh -= 2 * c->border; |
|
44 } |
46 } |
45 else { /* tile window */ |
47 else { /* tile window */ |
46 nx += mw; |
48 nx += mw; |
47 nw = tw - 2 * c->border; |
49 nw = tw - 2 * c->border; |
48 if(th > 2 * c->border) { |
50 if(th > 2 * c->border) { |
49 ny += (i - nmaster) * th; |
51 ny += (i - nmaster) * th; |
50 nh = th - 2 * c->border; |
52 nh = th; |
51 if (i == n - 1) |
53 if(i + 1 == n) /* remainder */ |
52 nh += remainder; |
54 nh = wah - th * (i - nmaster); |
55 nh -= 2 * c->border; |
|
53 } |
56 } |
54 else /* fallback if th <= 2 * c->border */ |
57 else /* fallback if th <= 2 * c->border */ |
55 nh = wah - 2 * c->border; |
58 nh = wah - 2 * c->border; |
56 } |
59 } |
57 resize(c, nx, ny, nw, nh, False); |
60 resize(c, nx, ny, nw, nh, False); |