You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
752 B
45 lines
752 B
3 years ago
|
Client *
|
||
|
prevt(Client *c)
|
||
|
{
|
||
|
Client *p, *r;
|
||
|
|
||
|
for (p = selmon->clients, r = NULL; p && p != c; p = p->next)
|
||
|
if (!p->isfloating && ISVISIBLE(p))
|
||
|
r = p;
|
||
|
return r;
|
||
|
}
|
||
|
|
||
|
void
|
||
|
pushup(const Arg *arg)
|
||
|
{
|
||
|
Client *sel = selmon->sel, *c;
|
||
|
|
||
|
if (!sel || sel->isfloating)
|
||
|
return;
|
||
|
if ((c = prevt(sel)) && c != nexttiled(selmon->clients)) {
|
||
|
detach(sel);
|
||
|
sel->next = c;
|
||
|
for (c = selmon->clients; c->next != sel->next; c = c->next);
|
||
|
c->next = sel;
|
||
|
}
|
||
|
focus(sel);
|
||
|
arrange(selmon);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
pushdown(const Arg *arg)
|
||
|
{
|
||
|
Client *sel = selmon->sel, *c;
|
||
|
|
||
|
if (!sel || sel->isfloating || sel == nexttiled(selmon->clients))
|
||
|
return;
|
||
|
if ((c = nexttiled(sel->next))) {
|
||
|
detach(sel);
|
||
|
sel->next = c->next;
|
||
|
c->next = sel;
|
||
|
}
|
||
|
focus(sel);
|
||
|
arrange(selmon);
|
||
|
}
|
||
|
|