implemented fallback for too many clients in stacked mode
79cd4088
2 file(s) · +10 −3
| 201 | 201 | c->win = w; |
|
| 202 | 202 | c->bx = c->fx = c->tx = wa->x; |
|
| 203 | 203 | c->by = c->fy = c->ty = wa->y; |
|
| 204 | - | if(c->fy < bh) |
|
| 205 | - | c->by = c->fy = c->ty += bh; |
|
| 206 | 204 | c->bw = c->fw = c->tw = wa->width; |
|
| 207 | 205 | c->fh = c->th = wa->height; |
|
| 208 | 206 | c->bh = bh; |
|
| 211 | 209 | c->fx = random() % (diff ? diff : 1); |
|
| 212 | 210 | diff = sh - c->fh - bh; |
|
| 213 | 211 | c->fy = random() % (diff ? diff : 1); |
|
| 212 | + | ||
| 213 | + | if(c->fy < bh) |
|
| 214 | + | c->by = c->fy = c->ty = bh; |
|
| 214 | 215 | ||
| 215 | 216 | c->border = 1; |
|
| 216 | 217 | c->proto = getproto(c->win); |
|
| 96 | 96 | *c->w = mw - 2 * c->border; |
|
| 97 | 97 | *c->h = sh - 2 * c->border - bh; |
|
| 98 | 98 | } |
|
| 99 | - | else { |
|
| 99 | + | else if(h > bh) { |
|
| 100 | 100 | *c->x = sx + mw; |
|
| 101 | 101 | *c->y = sy + (i - 1) * h + bh; |
|
| 102 | 102 | *c->w = w - 2 * c->border; |
|
| 103 | 103 | *c->h = h - 2 * c->border; |
|
| 104 | + | } |
|
| 105 | + | else { /* fallback if h < bh */ |
|
| 106 | + | *c->x = sx + mw; |
|
| 107 | + | *c->y = sy + bh; |
|
| 108 | + | *c->w = w - 2 * c->border; |
|
| 109 | + | *c->h = sh - 2 * c->border - bh; |
|
| 104 | 110 | } |
|
| 105 | 111 | resize(c, False, TopLeft); |
|
| 106 | 112 | i++; |