dwm-flexipatch/patch/transferall.c
2022-07-22 09:46:58 +02:00

27 lines
469 B
C

void
transferall(const Arg *arg)
{
Client *c, *n = selmon->clients, *attachfrom = NULL;
int i = 0, nstackclients = 0;
while (n) {
c = n;
n = c->next;
if (!ISVISIBLE(c) || c->isfloating) continue;
if (i >= selmon->nmaster) {
detach(c);
if (!attachfrom) {
attach(c);
} else {
c->next = attachfrom->next;
attachfrom->next = c;
}
attachfrom = c;
nstackclients++;
}
i++;
}
selmon->nmaster = nstackclients;
arrange(selmon);
}