aboutsummaryrefslogtreecommitdiffstats
path: root/dwm.c
diff options
context:
space:
mode:
Diffstat (limited to 'dwm.c')
-rw-r--r--dwm.c9
1 files changed, 9 insertions, 0 deletions
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;