- else
- ban(c);
- }
- if(!sel || !isvisible(sel)) {
- for(c = stack; c && !isvisible(c); c = c->snext);
- focus(c);
- }
- restack();
-}
-
-void
-dotile(void) {
- unsigned int i, n, mpx, stackw, th;
- Client *c;
-
- for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next))
- n++;
- mpx = (waw * master) / 1000;
- stackw = waw - mpx;
-
- for(i = 0, c = clients; c; c = c->next)
- if(isvisible(c)) {
- if(c->isfloat) {
- resize(c, True, TopLeft);
- continue;
- }
- c->ismax = False;
- c->x = wax;
- c->y = way;
- if(n == 1) { /* only 1 window */
- c->w = waw - 2 * BORDERPX;
- c->h = wah - 2 * BORDERPX;
- }
- else if(i == 0) { /* master window */
- c->w = mpx - 2 * BORDERPX;
- c->h = wah - 2 * BORDERPX;
- th = wah / (n - 1);
- }
- else { /* tile window */
- c->x += mpx;
- c->w = stackw - 2 * BORDERPX;
- if(th > bh) {
- c->y += (i - 1) * th;
- c->h = th - 2 * BORDERPX;
- }
- else /* fallback if th < bh */
- c->h = wah - 2 * BORDERPX;
- }
- resize(c, False, TopLeft);
- i++;