void ncol(Monitor *m) { unsigned int i, n, mw, tw, th; Client *c; for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); if(n == 0) return; mw = (n > m->nmaster) ? m->ww * m->mfact / m->nmaster : m->ww / n; th = (n > m->nmaster) ? m->wh / (n - m->nmaster) : 0; tw = (n > m->nmaster) ? m->ww - mw * m->nmaster : 0; for(i = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) if(i < m->nmaster) resize(c, m->wx + (i*mw), m->wy, mw - (2*c->bw), m->wh - (2*c->bw), False); else resize(c, m->wx + mw * m->nmaster, m->wy + ((i - m->nmaster)*th), tw - (2*c->bw), th - (2*c->bw), False); }