dwm-throwtoothertag.diff (1624B)
1 From bca2e4381ab60a54174bac3c15ba8776740274f3 Mon Sep 17 00:00:00 2001 2 From: "Mike S. Stevenson" <mikess@disroot.org> 3 Date: Tue, 8 Oct 2024 20:20:29 -0600 4 Subject: [PATCH] tag({0}) tags the selected window to the previous tagset. 5 6 In the same way that view({0}) toggles between tagsets. 7 8 Likewise, tag({0}) shall be bound to mod+shift+tab, corresponding to the 9 existing mod+tab binding. 10 --- 11 config.def.h | 1 + 12 dwm.c | 11 +++++++---- 13 2 files changed, 8 insertions(+), 4 deletions(-) 14 15 diff --git a/config.def.h b/config.def.h 16 index 9efa774..97606d7 100644 17 --- a/config.def.h 18 +++ b/config.def.h 19 @@ -73,6 +73,7 @@ static const Key keys[] = { 20 { MODKEY, XK_l, setmfact, {.f = +0.05} }, 21 { MODKEY, XK_Return, zoom, {0} }, 22 { MODKEY, XK_Tab, view, {0} }, 23 + { MODKEY|ShiftMask, XK_Tab, tag, {0} }, 24 { MODKEY|ShiftMask, XK_c, killclient, {0} }, 25 { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, 26 { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, 27 diff --git a/dwm.c b/dwm.c 28 index 2f2b871..a11aa99 100644 29 --- a/dwm.c 30 +++ b/dwm.c 31 @@ -1669,11 +1669,14 @@ spawn(const Arg *arg) 32 void 33 tag(const Arg *arg) 34 { 35 - if (selmon->sel && arg->ui & TAGMASK) { 36 + if(!selmon->sel) 37 + return; 38 + if (arg->ui & TAGMASK) 39 selmon->sel->tags = arg->ui & TAGMASK; 40 - focus(NULL); 41 - arrange(selmon); 42 - } 43 + else 44 + selmon->sel->tags = selmon->tagset[selmon->seltags ^ 1]; 45 + focus(NULL); 46 + arrange(selmon); 47 } 48 49 void 50 -- 51 2.46.2 52