summaryrefslogtreecommitdiff
path: root/dwm/patches/dwm-shift-tools-6.2.diff
blob: e9b9803e11aa6a5eb5dec32414dc229b371c1acc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# From d57c8508c9f26be40667d402a2daaa2b27ae759f Mon Sep 17 00:00:00 2001
# From: explosion-mental <explosion0mental@gmail.com>
# Date: Wed, 11 Aug 2021 21:05:44 -0500
# Subject: [PATCH] shift-tools-scratchpads - shifttag, moves the current selected client to
#  the adjacent tag - shifttagclients, moves the current selected client to the
#  adjacent tag   that has at least one client else acts as shifttag -
#  shiftview, view adjacent tag - shiftviewclients, view the closes tag that has
#  a client. If none acts   as shiftview - shiftboth, shifttag and shiftview.
#  Basically moves the window to the   next/prev tag and follows it. -
#  shiftswaptags, its a shift implementation on the swaptags function   (see
#  https://github.com/moizifty/DWM-Build/blob/65379c62640788881486401a0d8c79333751b02f/config.h#L48
#    for more details), which in short 'swaps tags' (swaps all clients with
#  the clients on the adjacent tag). A pretty useful example of this is
#  chosing a tag empty and sending all your clients to that tag. - swapfunction
#  is the 'helper' function for the shiftswaptags. remember that these functions
#  **shift**, which means you can go from tag 1 to 9 or 9 to 1. Also remember
#  that the default argument is 1 and you   can change it.
#
# ---
#  config.def.h  |   9 ++++
#  shift-tools-scratchpads.c | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++
#  2 files changed, 144 insertions(+)
#  create mode 100644 shift-tools-scratchpads.c

diff --git a/config.def.h b/config.def.h
index 1c0b587..1390d17 100644
--- a/config.def.h
+++ b/config.def.h
@@ -58,9 +58,14 @@ static const Layout layouts[] = {
 static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
 static const char *termcmd[]  = { "st", NULL };
+#include "shift-tools-scratchpads.c"

 static Key keys[] = {
 	/* modifier                     key        function        argument */
+	{ MODKEY,                       XK_o, shiftviewclients,    { .i = +1 } },
+	{ MODKEY|ShiftMask,             XK_o,	shiftview,           { .i = +1 } },
+	{ MODKEY|ShiftMask,             XK_i,	shiftview,           { .i = -1 } },
+	{ MODKEY,	                      XK_i, shiftviewclients,    { .i = -1 } },
 	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
 	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
 	{ MODKEY,                       XK_b,      togglebar,      {0} },
@@ -69,6 +74,10 @@ static Key keys[] = {
 	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
 	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
 	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
+	{ MODKEY|ShiftMask,		          XK_h,      shiftboth,      { .i = -1 }	},
+	{ MODKEY|ControlMask,		        XK_h,      shiftswaptags,  { .i = -1 }	},
+	{ MODKEY|ControlMask,		        XK_l,      shiftswaptags,  { .i = +1 }	},
+	{ MODKEY|ShiftMask,             XK_l,      shiftboth,      { .i = +1 }	},
 	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
 	{ MODKEY,                       XK_Return, zoom,           {0} },
 	{ MODKEY,                       XK_Tab,    view,           {0} },
2.32.0