aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--applied/dwm-6.2-tagintostack-onemaster.diff34
-rw-r--r--dwm.c9
2 files changed, 43 insertions, 0 deletions
diff --git a/applied/dwm-6.2-tagintostack-onemaster.diff b/applied/dwm-6.2-tagintostack-onemaster.diff
new file mode 100644
index 0000000..18fa42b
--- /dev/null
+++ b/applied/dwm-6.2-tagintostack-onemaster.diff
@@ -0,0 +1,34 @@
+From 43fb204a53e3f1bee47f51a2f4e52e5bf242e314 Mon Sep 17 00:00:00 2001
+From: astier <aleksandrs.stier@uni-bielefeld.de>
+Date: Tue, 26 Feb 2019 01:04:55 +0100
+Subject: [PATCH] Attach clients from toggled tag into stack instead of master area
+
+New clients attach into the stack area when you toggle a new tag into
+view. This means your master area will remain unchanged when toggling
+views.
+---
+ dwm.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/dwm.c b/dwm.c
+index 4465af1..567fa8b 100644
+--- a/dwm.c
++++ b/dwm.c
+@@ -1739,6 +1739,15 @@ toggleview(const Arg *arg)
+ {
+ unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK);
+
++ // the first visible client should be the same after we add a new tag
++ // we also want to be sure not to mutate the focus
++ Client *const c = nexttiled(selmon->clients);
++ if (c) {
++ Client * const selected = selmon->sel;
++ pop(c);
++ focus(selected);
++ }
++
+ if (newtagset) {
+ selmon->tagset[selmon->seltags] = newtagset;
+ focus(NULL);
+--
+2.20.1
diff --git a/dwm.c b/dwm.c
index 4bd377b..65e29b7 100644
--- a/dwm.c
+++ b/dwm.c
@@ -2012,6 +2012,15 @@ toggleview(const Arg *arg)
unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK);
int i;
+ // the first visible client should be the same after we add a new tag
+ // we also want to be sure not to mutate the focus
+ Client *const c = nexttiled(selmon->clients);
+ if (c) {
+ Client * const selected = selmon->sel;
+ pop(c);
+ focus(selected);
+ }
+
if (newtagset) {
selmon->tagset[selmon->seltags] = newtagset;