dwm-flexipatch/patch/switchcol.c
2019-10-04 00:20:47 +02:00

28 lines
559 B
C

void
switchcol(const Arg *arg)
{
Client *c, *t;
int col = 0;
int i;
if (!selmon->sel)
return;
for (i = 0, c = nexttiled(selmon->clients); c ;
c = nexttiled(c->next), i++) {
if (c == selmon->sel)
col = (i + 1) > selmon->nmaster;
}
if (i <= selmon->nmaster)
return;
for (c = selmon->stack; c; c = c->snext) {
if (!ISVISIBLE(c))
continue;
for (i = 0, t = nexttiled(selmon->clients); t && t != c;
t = nexttiled(t->next), i++);
if (t && (i + 1 > selmon->nmaster) != col) {
focus(c);
restack(selmon);
break;
}
}
}