|
|
- diff -urp dwm-6.1/dwm.c dwm-6.1-patched/dwm.c
- --- dwm-6.1/dwm.c 2015-11-09 06:39:37.000000000 +0800
- +++ dwm-6.1-patched/dwm.c 2016-03-24 23:56:35.435047948 +0800
- @@ -206,6 +206,7 @@ static void setup(void);
- static void showhide(Client *c);
- static void sigchld(int unused);
- static void spawn(const Arg *arg);
- +static void switchcol(const Arg *arg);
- static void tag(const Arg *arg);
- static void tagmon(const Arg *arg);
- static void tile(Monitor *);
- @@ -1645,6 +1646,35 @@ spawn(const Arg *arg)
- }
- }
-
- +void
- +switchcol(const Arg *arg)
- +{
- + Client *c, *t;
- + int col = 0;
- + int i;
- +
- + if (!selmon->sel)
- + return;
- + for (i = 0, c = nexttiled(selmon->clients); c ;
- + c = nexttiled(c->next), i++) {
- + if (c == selmon->sel)
- + col = (i + 1) > selmon->nmaster;
- + }
- + if (i <= selmon->nmaster)
- + return;
- + for (c = selmon->stack; c; c = c->snext) {
- + if (!ISVISIBLE(c))
- + continue;
- + for (i = 0, t = nexttiled(selmon->clients); t && t != c;
- + t = nexttiled(t->next), i++);
- + if (t && (i + 1 > selmon->nmaster) != col) {
- + focus(c);
- + restack(selmon);
- + break;
- + }
- + }
- +}
- +
- void
- tag(const Arg *arg)
- {
|