feat: add dispatch exchange_stack_client
This commit is contained in:
@@ -30,6 +30,7 @@ void setsmfact(const Arg *arg);
|
||||
void quit(const Arg *arg);
|
||||
void moveresize(const Arg *arg);
|
||||
void exchange_client(const Arg *arg);
|
||||
void exchange_stack_client(const Arg *arg);
|
||||
void killclient(const Arg *arg);
|
||||
void toggleglobal(const Arg *arg);
|
||||
void incnmaster(const Arg *arg);
|
||||
|
||||
@@ -73,6 +73,20 @@ void exchange_client(const Arg *arg) {
|
||||
exchange_two_client(c, direction_select(arg));
|
||||
}
|
||||
|
||||
void exchange_stack_client(const Arg *arg) {
|
||||
Client *c = selmon->sel;
|
||||
Client *tc;
|
||||
if (!c || c->isfloating || c->isfullscreen || c->ismaxmizescreen)
|
||||
return;
|
||||
if (arg->i > 0) {
|
||||
tc = get_next_stack_client(c, false);
|
||||
} else {
|
||||
tc = get_next_stack_client(c, true);
|
||||
}
|
||||
if (tc)
|
||||
exchange_two_client(c, tc);
|
||||
}
|
||||
|
||||
void focusdir(const Arg *arg) {
|
||||
Client *c;
|
||||
c = direction_select(arg);
|
||||
|
||||
Reference in New Issue
Block a user