dwm-toggleallmons-6.4.diff (1464B)
1 diff --git a/config.def.h b/config.def.h 2 index 061ad66..d702080 100644 3 --- a/config.def.h 4 +++ b/config.def.h 5 @@ -72,6 +72,7 @@ static const Key keys[] = { 6 { MODKEY, XK_l, setmfact, {.f = +0.05} }, 7 { MODKEY, XK_Return, zoom, {0} }, 8 { MODKEY, XK_Tab, view, {0} }, 9 + { MODKEY|ShiftMask, XK_Tab, toggleall, {0} }, 10 { MODKEY|ShiftMask, XK_c, killclient, {0} }, 11 { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, 12 { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, 13 diff --git a/dwm.c b/dwm.c 14 index e5efb6a..f01009f 100644 15 --- a/dwm.c 16 +++ b/dwm.c 17 @@ -210,6 +210,7 @@ static void spawn(const Arg *arg); 18 static void tag(const Arg *arg); 19 static void tagmon(const Arg *arg); 20 static void tile(Monitor *m); 21 +static void toggleall(const Arg *arg); 22 static void togglebar(const Arg *arg); 23 static void togglefloating(const Arg *arg); 24 static void toggletag(const Arg *arg); 25 @@ -1694,6 +1695,21 @@ tile(Monitor *m) 26 } 27 } 28 29 +void 30 +toggleall(const Arg *arg) 31 +{ 32 + Monitor* m; 33 + for(m = mons; m; m = m->next){ 34 + if ((arg->ui & TAGMASK) == m->tagset[m->seltags]) 35 + return; 36 + m->seltags ^= 1; /* toggle sel tagset */ 37 + if (arg->ui & TAGMASK) 38 + m->tagset[m->seltags] = arg->ui & TAGMASK; 39 + focus(NULL); 40 + arrange(m); 41 + } 42 +} 43 + 44 void 45 togglebar(const Arg *arg) 46 {