commit 0ca317d0dc97c44dde3902a00daefd46344ac58f
parent 8cd1a79a263c289611b6a463c4e50524d364f5c0
Author: phi <crispyfrog@163.com>
Date: Fri, 25 Mar 2016 00:30:54 +0800
Add a new patch (switchcol) for dwm
Diffstat:
2 files changed, 68 insertions(+), 0 deletions(-)
diff --git a/dwm.suckless.org/patches/dwm-6.1-switchcol.diff b/dwm.suckless.org/patches/dwm-6.1-switchcol.diff
@@ -0,0 +1,47 @@
+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)
+ {
diff --git a/dwm.suckless.org/patches/switchcol.md b/dwm.suckless.org/patches/switchcol.md
@@ -0,0 +1,21 @@
+# switchcol
+
+## Description
+
+Switch focus between the 2 columns (master or stack) easily. This patch only
+has one function, it remembers the most recently focused client in the 2
+columns for each tag (it is implemented by searching the stack list to find
+the most recent client in the other column).
+
+## Configuration
+
+ /*config.h*/
+ { MODKEY, XK_n, switchcol, {0} },
+
+## Download
+
+* [dwm-6.1-switchcol.diff](dwm-6.1-mark.diff) (1126b) (20160325)
+
+## Author
+* phi <crispyforg@163.com>
+