52 lines
774 B
C
52 lines
774 B
C
|
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);
|
||
|
}
|
||
|
}
|