summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md5
-rw-r--r--patch/include.c4
-rw-r--r--patch/include.h4
-rw-r--r--patch/switchcol.c28
-rw-r--r--patch/switchcol.h1
-rw-r--r--patches.h7
6 files changed, 47 insertions, 2 deletions
diff --git a/README.md b/README.md
index de452ee..302c77d 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
### Changelog:
-2019-10-03 - Added onlyquitonempty patch
+2019-10-03 - Added onlyquitonempty and switchcol patches
2019-10-02 - Added restartsig, emptyview, focusurgent and focusadjacenttag patches
@@ -173,6 +173,9 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
- [sticky](https://dwm.suckless.org/patches/sticky/)
- adds toggleable keyboard shortcut to make a client 'sticky', i.e. visible on all tags
+ - [switchcol](https://dwm.suckless.org/patches/switchcol/)
+ - allows you to switch focus between the master and stack columns using a single keybinding
+
- [switchtag](https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-switchtag-6.2.diff)
- when an application opens on a specific tab this patch adds the option to also switch to that tag when the application starts
diff --git a/patch/include.c b/patch/include.c
index cd52548..ca231a0 100644
--- a/patch/include.c
+++ b/patch/include.c
@@ -86,6 +86,10 @@
#include "systray.c"
#endif
+#if SWITCHCOL_PATCH
+#include "switchcol.c"
+#endif
+
#if TAGALLMON_PATCH
#include "tagallmon.c"
#endif
diff --git a/patch/include.h b/patch/include.h
index ca2940a..2522376 100644
--- a/patch/include.h
+++ b/patch/include.h
@@ -86,6 +86,10 @@
#include "systray.h"
#endif
+#if SWITCHCOL_PATCH
+#include "switchcol.h"
+#endif
+
#if TAGALLMON_PATCH
#include "tagallmon.h"
#endif
diff --git a/patch/switchcol.c b/patch/switchcol.c
new file mode 100644
index 0000000..b2fe595
--- /dev/null
+++ b/patch/switchcol.c
@@ -0,0 +1,28 @@
+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;
+ }
+ }
+} \ No newline at end of file
diff --git a/patch/switchcol.h b/patch/switchcol.h
new file mode 100644
index 0000000..f7f5f96
--- /dev/null
+++ b/patch/switchcol.h
@@ -0,0 +1 @@
+static void switchcol(const Arg *arg); \ No newline at end of file
diff --git a/patches.h b/patches.h
index eed308b..b978781 100644
--- a/patches.h
+++ b/patches.h
@@ -276,6 +276,11 @@
*/
#define SYSTRAY_PATCH 0
+/* Switch focus between the master and stack columns using a single keybinding.
+ * https://dwm.suckless.org/patches/switchcol/
+ */
+#define SWITCHCOL_PATCH 0
+
/* By default dwm allow you to set application specific rules so that you can have your browser,
* for example, start up on tag 9 optionally on a given monitor when you open your browser it is
* then automatically moved to the configured tag, but you have to manually enable the tag to see
@@ -284,7 +289,7 @@
* 0 is default behaviour
* 1 automatically moves you to the tag of the newly opened application and
* 2 enables the tag of the newly opened application in addition to your existing enabled tags
-
+ *
* https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-switchtag-6.2.diff
*/
#define SWITCHTAG_PATCH 0