23 lines
630 B
C
23 lines
630 B
C
void
|
|
swapfocus(const Arg *arg)
|
|
{
|
|
if (!selmon->sel)
|
|
return;
|
|
if (selmon->pertag->prevclient[selmon->pertag->curtag] != NULL
|
|
&& ISVISIBLE(selmon->pertag->prevclient[selmon->pertag->curtag])) {
|
|
focus(selmon->pertag->prevclient[selmon->pertag->curtag]);
|
|
restack(selmon->pertag->prevclient[selmon->pertag->curtag]->mon);
|
|
}
|
|
else {
|
|
Client *c = NULL;
|
|
for (c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next);
|
|
if (!c)
|
|
for (c = selmon->clients; c && !ISVISIBLE(c); c = c->next);
|
|
if (c) {
|
|
focus(c);
|
|
restack(selmon);
|
|
}
|
|
}
|
|
}
|
|
|