void enqueue(Client *c) { Client *l; for (l = c->mon->clients; l && l->next; l = l->next); if (l) { l->next = c; c->next = NULL; } } void enqueuestack(Client *c) { Client *l; for (l = c->mon->stack; l && l->snext; l = l->snext); if (l) { l->snext = c; c->snext = NULL; } } void rotatestack(const Arg *arg) { Client *c = NULL, *f; if (!selmon->sel) return; f = selmon->sel; if (arg->i > 0) { for (c = nexttiled(selmon->clients); c && nexttiled(c->next); c = nexttiled(c->next)); if (c){ detach(c); attach(c); detachstack(c); attachstack(c); } } else { if ((c = nexttiled(selmon->clients))){ detach(c); enqueue(c); detachstack(c); enqueuestack(c); } } if (c){ arrange(selmon); focus(f); restack(selmon); } }