autolinux


Logs | Files | README | LICENSE | GitLab


1
commit caf031f26c5d2081cd59ed1a869aeacfe751a5bb (HEAD -> master, origin/main, main)
2
Author: Connor Etherington <[email protected]>
3
Date:   Thu Jun 1 02:00:44 2023 +0200
4
5
    Auto-Commit Update 01.06.2023 - 02:00:44
6
---
7
 .config.h.~1~                                      | 256 +++++++++++++++++++++
8
 AutoLinux                                          | Bin 118864 -> 118864 bytes
9
 AutoLinux.o                                        | Bin 0 -> 112544 bytes
10
 Makefile                                           |   4 +
11
 config.h                                           | 225 +-----------------
12
 drw.o                                              | Bin 0 -> 10320 bytes
13
 icons/hicolor/1024x1024/apps/AutoLinux.png         | Bin 0 -> 162233 bytes
14
 icons/hicolor/128x128/apps/AutoLinux.png           | Bin 0 -> 15015 bytes
15
 icons/hicolor/16x16/apps/AutoLinux.png             | Bin 0 -> 1125 bytes
16
 icons/hicolor/192x192/apps/AutoLinux.png           | Bin 0 -> 23356 bytes
17
 icons/hicolor/22x22/apps/AutoLinux.png             | Bin 0 -> 1708 bytes
18
 icons/hicolor/24x24/apps/AutoLinux.png             | Bin 0 -> 1907 bytes
19
 icons/hicolor/256x256/apps/AutoLinux.png           | Bin 0 -> 33215 bytes
20
 icons/hicolor/32x32/apps/AutoLinux.png             | Bin 0 -> 2758 bytes
21
 icons/hicolor/36x36/apps/AutoLinux.png             | Bin 0 -> 3094 bytes
22
 icons/hicolor/48x48/apps/AutoLinux.png             | Bin 0 -> 4686 bytes
23
 icons/hicolor/512x512/apps/AutoLinux.png           | Bin 0 -> 72652 bytes
24
 icons/hicolor/64x64/apps/AutoLinux.png             | Bin 0 -> 6575 bytes
25
 icons/hicolor/72x72/apps/AutoLinux.png             | Bin 0 -> 7702 bytes
26
 icons/hicolor/96x96/apps/AutoLinux.png             | Bin 0 -> 10787 bytes
27
 icons/hicolor/scalable/apps/AutoLinux.svg          |   1 +
28
 icons/hicolor/symbolic/apps/AutoLinux-symbolic.svg |   1 +
29
 keybindings.c                                      | 225 ++++++++++++++++++
30
 keybindings.h                                      | 247 ++++++++++++++++++++
31
 keybinds.c                                         | 224 ++++++++++++++++++
32
 logo.png                                           | Bin 21564 -> 0 bytes
33
 util.o                                             | Bin 0 -> 2224 bytes
34
 27 files changed, 961 insertions(+), 222 deletions(-)
35
36
diff --git a/.config.h.~1~ b/.config.h.~1~
37
new file mode 100644
38
index 0000000..81a221f
39
--- /dev/null
40
+++ b/.config.h.~1~
41
@@ -0,0 +1,256 @@
42
+
43
+//                                      See LICENSE file for copyright and license details.                                     //
44
+//---------------------------------------------------------- Constants ---------------------------------------------------------//
45
+
46
+#define TERMINAL2 "alacritty"
47
+#define TERMCLASS2 "Alacritty"
48
+#define BROWSER "brave"
49
+#define TERMINAL "st"
50
+#define TERMCLASS "St"
51
+
52
+#define MODKEY Mod4Mask
53
+#define ALTKEY Mod1Mask
54
+#define CTRLKEY ControlMask
55
+
56
+#define NOMOD 0
57
+#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
58
+
59
+//--------------------------------------------------------- Appearance ---------------------------------------------------------//
60
+
61
+static unsigned int borderpx        = 2;              /* border pixel of windows */
62
+static unsigned int gappx           = 1;              /* pixel gap between clients */
63
+static unsigned int snap            = 30;             /* snap pixel */
64
+static unsigned int gappih          = 8;              /* horiz inner gap between windows */
65
+static unsigned int gappiv          = 8;              /* vert inner gap between windows */
66
+static unsigned int gappoh          = 12;             /* horiz outer gap between windows and screen edge */
67
+static unsigned int gappov          = 12;             /* vert outer gap between windows and screen edge */
68
+static int user_bh                  = 30;              /* 0 means that AutoLinux will calculate bar height, >= 1 means AutoLinux will user_bh as bar height */
69
+static int swallowfloating          = 5;              /* 5 means swallow floating windows by default */
70
+static int smartgaps                = 0;              /* 1 means no outer gap when there is only one window */
71
+static int showbar                  = 1;              /* 0 means no bar */
72
+static int topbar                   = 1;              /* 0 means bottom bar */
73
+static int horizpadbar              = 10;             /* horizontal padding for statusbar */
74
+static int vertpadbar               = 15;             /* vertical padding for statusbar */
75
+static int vertpad                  = 10;             /* vertical padding of bar */
76
+static int sidepad                  = 10;             /* horizontal padding of bar */
77
+
78
+
79
+static char dmenufont[]             =       "Mononoki Nerd Font:size=16.2:antialias=true:autohint=true" ;
80
+static char *fonts[]                = {     "Mononoki Nerd Font:size=16.2:antialias=true:autohint=true",
81
+                                            "monospace:size=11", "fontawesome:size=12",
82
+                                            "JoyPixels:pixelsize=10:antialias=true:autohint=true",
83
+                                            "Mononoki Nerd Font:size=9:antialias=true:autohint=true",
84
+                                            "Hack:size=10:antialias=true:autohint=true",
85
+                                            "JoyPixels:size=10:antialias=true:autohint=true"
86
+};
87
+
88
+
89
+//----------------------------------------------------------- Colors -----------------------------------------------------------//
90
+
91
+/* static char selfgcolor[]            = #1A2026; */
92
+static char normbgcolor[]           = "#1A2026";
93
+static char normbordercolor[]       = "#222222";
94
+static char normfgcolor[]           = "#41fdfe";
95
+static char selfgcolor[]            = "#00ff00";
96
+static char selbordercolor[]        = "#c9c9c9";
97
+static char selbgcolor[]            = "#1A2026";
98
+static char timefgcolor[]           = "#1A2026";
99
+static char timebordercolor[]       = "#ff2782";
100
+static char timebgcolor[]           = "#ff2782";
101
+static char activefgcolor[]         = "#efeff0";
102
+static char activebordercolor[]     = "#ff2782";
103
+static char activebgcolor[]         = "#0077aa";
104
+static char inactivefgcolor[]       = "#ff2782";
105
+static char inactivebordercolor[]   = "#ff2782";
106
+static char inactivebgcolor[]       = "#efeff0";
107
+
108
+static char *colors[][3] = {
109
+
110
+           /*               fg           bg           border   */
111
+       [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
112
+       [SchemeSel]  = { selfgcolor,  selbgcolor,  selbordercolor  },
113
+       [SchemeTime]  = { timefgcolor, timebgcolor, timebordercolor },
114
+       [SchemeActive]  = { activefgcolor, activebgcolor, activebordercolor },
115
+       [SchemeInactive]  = { inactivefgcolor, inactivebgcolor, inactivebordercolor },
116
+
117
+};
118
+
119
+typedef struct {
120
+	const char *name;
121
+	const void *cmd;
122
+} Sp;
123
+const char *spcmd1[] = {TERMINAL, "-n", "spterm", "-g", "160x50", NULL };
124
+const char *spcmd2[] = {TERMINAL, "-n", "spcalc", "-f", "monospace:size=16", "-g", "50x20", "-e", "bc", "-lq", NULL };
125
+const char *spcmd3[] = {TERMINAL, "-n", "spala", "-g", "160x50", NULL };
126
+const char *spcmd4[] = {TERMINAL, "-n", "spalat", "-g", "160x50", "-e", "gogb", NULL };
127
+const char *spcmd5[] = {TERMINAL, "-n", "spgbmon", "-g", "160x50", "-e", "gbmonit", NULL };
128
+const char *spcmd6[] = {BROWSER,  NULL };
129
+
130
+static Sp scratchpads[] = {
131
+
132
+	/* name          cmd  */
133
+	{"spterm",      spcmd1},
134
+	{"spcalc",      spcmd2},
135
+	{"spala",       spcmd3},
136
+	{"spalat",      spcmd4},
137
+	{"spgbmon",     spcmd5},
138
+	{"spbrowser",   spcmd6},
139
+};
140
+
141
+//----------------------------------------------------------- Tagging ----------------------------------------------------------//
142
+
143
+static const char *tags[] =   { " 1 ", " 2 ", " 3 ", " 4 ", "  ", " 6 ", " 7 ", " 8 ", " 9 " };
144
+//static const char *tags[] =   { "  ", "  ", "  ", "  ", "  ", "  ", "  ", "  ", "  " };
145
+//static const char *tags[] =   { " 1 ", " 2 ", " 3 ", " 4 ", "  ", " 6 ", " 7 ", " 8 ", " 9 " };
146
+//static const char *tags[] =   { "  ", "  ", "  ", "  ", "  ", "  ", "  ", "  " };
147
+// static const char *tags[] =  {  " ", " ", " ", " ", " ", " ", " ", " ", " "  };
148
+
149
+
150
+static const Rule rules[] = {
151
+	/* xprop(1):
152
+	 *	WM_CLASS(STRING) = instance, class
153
+	 *	WM_NAME(STRING) = title
154
+	*/
155
+	/* class    instance      title       	 tags mask    isfloating   isterminal  noswallow  monitor */
156
+	{ "Gimp",     NULL,       NULL,       	    1 << 8,       0,           0,         0,        -1 },
157
+	{ TERMCLASS,  NULL,       NULL,       	    0,            0,           1,         0,        -1 },
158
+	{ NULL,       NULL,       "Event Tester",   0,            0,           0,         1,        -1 },
159
+	{ NULL,      "spterm",    NULL,       	    SPTAG(0),     1,           1,         0,        -1 },
160
+	{ NULL,      "spcalc",    NULL,       	    SPTAG(1),     1,           1,         0,        -1 },
161
+	{ NULL,      "spala",     NULL,             SPTAG(2),     1,           1,         0,        -1 },
162
+	{ NULL,      "spalat",    NULL,             SPTAG(3),     1,           1,         0,        -1 },
163
+	{ NULL,      "spgbmon",   NULL,             SPTAG(4),     1,           1,         0,        -1 },
164
+	{ NULL,      "spbrowser", NULL,             SPTAG(5),     1,           1,         0,        -1 },
165
+};
166
+
167
+
168
+//-------------------------------------------------------- Bar Allignment -------------------------------------------------------//
169
+
170
+static const BarRule barrules[] = {
171
+   	/* monitor  bar    alignment               widthfunc              drawfunc              clickfunc           name */
172
+ /* { -1,       0,     BAR_ALIGN_LEFT,         width_tags,            draw_tags,            click_tags,         "tags"     }, */
173
+  	{ -1,       0,     BAR_ALIGN_CENTER,       width_tags,            draw_tags,            click_tags,         "tags"     },
174
+    { -1,       0,     BAR_ALIGN_LEFT_LEFT,    width_ltsymbol,        draw_ltsymbol,        click_ltsymbol,     "layout"   },
175
+    //{ 0,        0,     BAR_ALIGN_RIGHT_RIGHT,  width_time,            draw_time,            click_status,       "time"     },
176
+    { -1,        0,     BAR_ALIGN_RIGHT_RIGHT,  width_date,            draw_date,            click_date,       "date"     },
177
+    { 1,        0,     BAR_ALIGN_RIGHT_RIGHT,  width_time,            draw_time,            click_time,       "time"     },
178
+    { 0,        0,     BAR_ALIGN_RIGHT_RIGHT,  width_time,            draw_time,            clickk_time,       "time"     },
179
+    { 1,        0,     BAR_ALIGN_LEFT,         width_wintitle,        draw_wintitle,        click_wintitle,     "wintitle" },
180
+};
181
+
182
+
183
+//----------------------------------------------------------- Layouts -----------------------------------------------------------//
184
+
185
+static float mfact     = 0.55; /* factor of master area size [0.1..0.90] */
186
+static int nmaster     = 1;    /* number of clients in master area */
187
+static int resizehints = 0;    /* 1 means respect size hints in tiled resizals */
188
+#define FORCE_VSPLIT 1  /* nrowgrid layout: force two clients to always split vertically */
189
+#include "vanitygaps.c"
190
+static const Layout layouts[] = {
191
+	/* symbol     arrange function */
192
+	{ "[]=",	monocle },			/* Default: Master on left, slaves on right */
193
+	{ "",	bstack },		/* Master on top, slaves on bottom */
194
+
195
+/*	{ "[@]",	spiral },		 Fibonacci spiral */
196
+/*	{ "[\\]",	dwindle },		 Decreasing in size right and leftward */
197
+
198
+	{ "",	deck },			/* Master on left, slaves in monocle-like mode on right */
199
+	{ "",	tile },		/* All windows on top of eachother */
200
+
201
+	{ "",	centeredmaster },		/* Master in middle, slaves on sides */
202
+	{ "",	centeredfloatingmaster },	/* Same but master floats */
203
+
204
+	{ "",	NULL },			/* no layout function means floating behavior */
205
+	{ "",		NULL },
206
+};
207
+
208
+
209
+//--------------------------------------------------------- Key Definitions -----------------------------------------------------//
210
+
211
+
212
+#define TAGKEYS(KEY,         TAG) \
213
+	{ MODKEY,                       KEY,               view,           {.ui = 1 << TAG} }, \
214
+	{ ALTKEY,                       KEY,               tag,            {.ui = 1 << TAG} }, \
215
+	{ MODKEY|ControlMask,           KEY,               toggleview,     {.ui = 1 << TAG} }, \
216
+	{ MODKEY|ShiftMask,             KEY,               tag,            {.ui = 1 << TAG} }, \
217
+	{ MODKEY|ControlMask|ShiftMask, KEY,               toggletag,      {.ui = 1 << TAG} },
218
+#define STACKKEYS(MOD,ACTION) \
219
+	{ MOD,	XK_j,	        ACTION##stack,	{.i = INC(+1) } }, \
220
+	{ MOD,	XK_k,	        ACTION##stack,	{.i = INC(-1) } }, \
221
+	{ MOD,  XK_BackSpace, ACTION##stack, {.i = PREVSEL } }, \
222
+  { MOD,  XK_comma,    ACTION##stack,  {.i = 0 } }, \
223
+	{ MOD,  XK_Up,	    ACTION##stack,	{.i = INC(+1) } }, \
224
+	{ MOD,  XK_Down,	ACTION##stack,	{.i = INC(-1) } }, \
225
+	/* { MOD, XK_grave, ACTION##stack, {.i = PREVSEL } }, \ */
226
+	/* { MOD, XK_a,     ACTION##stack, {.i = 1 } }, \ */
227
+	/* { MOD, XK_z,     ACTION##stack, {.i = 2 } }, \ */
228
+	/* { MOD, XK_x,     ACTION##stack, {.i = -1 } }, */
229
+
230
+/* helper for spawning shell commands in the pre AutoLinux-5.0 fashion */
231
+
232
+/* commands */
233
+static const char *termcmd[]   = { TERMINAL,  NULL };
234
+static const char *term2cmd[]   = { TERMINAL2,  NULL };
235
+
236
+
237
+
238
+//------------------------------------------  Xresources preferences to load at startup  ----------------------------------------//
239
+
240
+ResourcePref resources[] = {
241
+		{ "color0",	         STRING,	&normbordercolor },
242
+		{ "color8",	         STRING,	&selbordercolor },
243
+		{ "color0",	         STRING,	&normbgcolor },
244
+		{ "color4",	         STRING,	&normfgcolor },
245
+		{ "color0",	         STRING,	&selfgcolor },
246
+		{ "color4",	         STRING,	&selbgcolor },
247
+		{ "borderpx",        INTEGER,   &borderpx },
248
+		{ "snap",	         INTEGER,   &snap },
249
+		{ "showbar",         INTEGER,   &showbar },
250
+		{ "topbar",	         INTEGER,   &topbar },
251
+		{ "nmaster",         INTEGER,   &nmaster },
252
+		{ "resizehints",	 INTEGER,   &resizehints },
253
+		{ "mfact",           FLOAT,	    &mfact },
254
+		{ "gappih",          INTEGER,   &gappih },
255
+		{ "gappiv",          INTEGER,   &gappiv },
256
+		{ "gappoh",          INTEGER,   &gappoh },
257
+		{ "gappov",          INTEGER,   &gappov },
258
+		{ "swallowfloating", INTEGER,   &swallowfloating },
259
+		{ "smartgaps",		 INTEGER,   &smartgaps },
260
+};
261
+
262
+#include <X11/XF86keysym.h>
263
+#include "shiftview.c"
264
+
265
+//-------------------------------------------------------- Keybindings ----------------------------------------------------------//
266
+
267
+#include "keybinds.c"
268
+
269
+//---------------------------------------------------- Button Definitions -------------------------------------------------------//
270
+
271
+/* button definitions */
272
+/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
273
+static Button buttons[] = {
274
+	/* click                event mask      button          function        argument */
275
+#ifndef __OpenBSD__
276
+	{ ClkWinTitle,          0,              Button2,        zoom,           {0} },
277
+	{ ClkStatusText,        0,              Button1,        sigdwmblocks,   {.i = 1} },
278
+	{ ClkStatusText,        0,              Button2,        sigdwmblocks,   {.i = 2} },
279
+	{ ClkStatusText,        0,              Button3,        sigdwmblocks,   {.i = 3} },
280
+	{ ClkStatusText,        0,              Button4,        sigdwmblocks,   {.i = 4} },
281
+	{ ClkStatusText,        0,              Button5,        sigdwmblocks,   {.i = 5} },
282
+	{ ClkStatusText,        ShiftMask,      Button1,        sigdwmblocks,   {.i = 6} },
283
+#endif
284
+	{ ClkStatusText,        ShiftMask,      Button3,        spawn,          SHCMD(TERMINAL " -e nvim ~/.local/src/dwmblocks/config.h") },
285
+	{ ClkClientWin,         MODKEY,                  Button1,        movemouse,      {0} },
286
+	{ ClkClientWin,         MODKEY,                  Button2,        defaultgaps,	{0} },
287
+	{ ClkClientWin,         MODKEY,                  Button3,        resizemouse,    {0} },
288
+	{ ClkClientWin,		MODKEY,         		Button4,	incrgaps,	{.i = +1} },
289
+	{ ClkClientWin,		MODKEY,         		Button5,	incrgaps,	{.i = -1} },
290
+	{ ClkTagBar,            0,              Button1,        view,           {0} },
291
+	{ ClkTagBar,            0,              Button3,        toggleview,     {0} },
292
+	{ ClkTagBar,            MODKEY,                  Button1,        tag,            {0} },
293
+	{ ClkTagBar,            MODKEY,                  Button3,        toggletag,      {0} },
294
+	{ ClkTagBar,		0,		Button4,	shiftview,	{.i = -1} },
295
+	{ ClkTagBar,		0,		Button5,	shiftview,	{.i = 1} },
296
+	{ ClkRootWin,		0,		Button2,	togglebar,	{0} },
297
+};
298
diff --git a/AutoLinux b/AutoLinux
299
index 5a24160..06a4bda 100755
300
Binary files a/AutoLinux and b/AutoLinux differ
301
diff --git a/AutoLinux.o b/AutoLinux.o
302
new file mode 100644
303
index 0000000..ab9c8d1
304
Binary files /dev/null and b/AutoLinux.o differ
305
diff --git a/Makefile b/Makefile
306
index 7ece6df..a2f9fcf 100644
307
--- a/Makefile
308
+++ b/Makefile
309
@@ -40,10 +40,14 @@ install: all
310
 	mkdir -p ${DESTDIR}${PREFIX}/share/licenses/AutoLinux
311
 	sudo cp -f LICENSE ${DESTDIR}${PREFIX}/share/licenses/AutoLinux
312
 	sudo cp -f AutoLinux.desktop ${DESTDIR}${PREFIX}/share/xsessions
313
+	sudo cp -arf icons ${DESTDIR}${PREFIX}/share/icons
314
 
315
 uninstall:
316
 	rm -f ${DESTDIR}${PREFIX}/bin/AutoLinux\
317
 		${DESTDIR}${PREFIX}/share/xsessions/AutoLinux.desktop\
318
 		${DESTDIR}${PREFIX}/share/licenses/AutoLinux/LICENSE
319
+	@for size in 1024x1024 128x128 16x16 192x192 22x22 24x24 256x256 32x32 36x36 48x48 512x512 64x64 72x72 96x96; do\
320
+		sudo rm -f ${DESTDIR}${PREFIX}/share/icons/hicolor/$${size}/apps/AutoLinux.png;\
321
+	done
322
 
323
 .PHONY: all options clean dist install uninstall
324
diff --git a/config.h b/config.h
325
index 6508733..576174f 100644
326
--- a/config.h
327
+++ b/config.h
328
@@ -1,14 +1,11 @@
329
-
330
 //                                      See LICENSE file for copyright and license details.                                     //
331
 
332
 
333
-//---------------------------------------------------------- Constants ---------------------------------------------------------//
334
-
335
 #define TERMINAL "st"
336
 #define TERMCLASS "St"
337
 #define TERMINAL2 "alacritty"
338
 #define TERMCLASS2 "Alacritty"
339
-#define BROWSER "brave-browser-nightly"
340
+#define BROWSER "brave"
341
 #define MODKEY Mod4Mask
342
 #define ALTKEY Mod1Mask
343
 #define CTRLKEY ControlMask
344
@@ -16,6 +13,7 @@
345
 
346
 #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
347
 
348
+
349
 //--------------------------------------------------------- Appearance ---------------------------------------------------------//
350
 
351
 static unsigned int borderpx        = 2;              /* border pixel of windows */
352
@@ -224,224 +222,7 @@ ResourcePref resources[] = {
353
 
354
 //-------------------------------------------------------- Keybindings ----------------------------------------------------------//
355
 
356
-static Key keys[] = {
357
-	/* modifier                     key        function        argument */
358
-	STACKKEYS(MODKEY,                          focus)
359
-	STACKKEYS(ALTKEY,                          push)
360
-	STACKKEYS(MODKEY|ShiftMask,                push)
361
-	/* { MODKEY|ShiftMask,		XK_Escape,	spawn,	SHCMD("") }, */
362
-	{ MODKEY,         			XK_grave,	spawn,	SHCMD("dmenuunicode") },
363
-	/* { MODKEY|ShiftMask,		XK_grave,	togglescratch,	SHCMD("") }, */
364
-	TAGKEYS(			XK_1,		0)
365
-	TAGKEYS(			XK_2,		1)
366
-	TAGKEYS(			XK_3,		2)
367
-	TAGKEYS(			XK_4,		3)
368
-	TAGKEYS(			XK_5,		4)
369
-	TAGKEYS(			XK_6,		5)
370
-	TAGKEYS(			XK_7,		6)
371
-	TAGKEYS(			XK_8,		7)
372
-	TAGKEYS(  		XK_9,		8)
373
-
374
-  { MODKEY,             XK_F12,     spawn,		SHCMD("cpSecPass 1") },
375
-  { MODKEY,             XK_F11,     spawn,		SHCMD("cpSecPass 2") },
376
-  { MODKEY,             XK_F6,      spawn,		SHCMD("cpSecPass 3") },
377
-  { MODKEY,             XK_F7,      spawn,		SHCMD("cpSecPass 4") },
378
-  { MODKEY,             XK_F9,      spawn,		SHCMD("cpSecPass 5") },
379
-  { MODKEY,             XK_F10,     spawn,		SHCMD("cpSecPass 6") },
380
-  { ALTKEY|ShiftMask,   XK_F10,     spawn,		SHCMD("clipmenu") },
381
-  { MODKEY,             XK_F8,      spawn,		SHCMD("cpSecPass 7") },
382
-  { MODKEY,             XK_minus,	  spawn,		SHCMD("cpSecPass 8") },
383
-  { MODKEY,             XK_equal,	  spawn,		SHCMD("cpSecPass 9") },
384
-  { MODKEY,             XK_F13,     spawn,		SHCMD("cpSecPass 10") },
385
-
386
-
387
-  // Scratch Pads:
388
-
389
-	{ MODKEY,		XK_s,	 togglescratch, {.ui = 0 } },
390
-	{ ALTKEY,		XK_Return,  togglescratch, {.ui = 1 } },
391
-	{ MODKEY,		XK_backslash,	togglescratch, {.ui = 3 } },
392
-	{ MODKEY|ShiftMask,		XK_backslash,	togglescratch, {.ui = 4 } },
393
-	{ MODKEY|ControlMask, XK_period,  spawn, SHCMD(TERMINAL " -e job") },
394
-  { MODKEY,   XK_Escape,    spawn, SHCMD("startJustine") },
395
-	{ MODKEY,   XK_slash,	    spawn, SHCMD("startJustineSilent") },
396
-
397
-
398
-
399
-
400
-  { MODKEY,         			XK_0,		view,		{.ui = ~0 } },
401
-	{ MODKEY|ShiftMask,		XK_0,		tag,		{.ui = ~0 } },
402
-	{ MODKEY,         			XK_minus,	spawn,		SHCMD("pamixer --allow-boost -d 5; kill -44 $(pidof dwmblocks)") },
403
-//	{ MODKEY|ShiftMask,		XK_minus,	spawn,		SHCMD("pamixer --allow-boost -d 15; kill -44 $(pidof dwmblocks)") },
404
- // { MODKEY,         			XK_equal,	spawn,		SHCMD("pamixer --allow-boost -i 5; kill -44 $(pidof dwmblocks)") },
405
-	{ MODKEY|ShiftMask,		XK_equal,	spawn,		SHCMD("pamixer --allow-boost -i 15; kill -44 $(pidof dwmblocks)") },
406
-	{ MODKEY,         			XK_BackSpace,	spawn,		SHCMD("sysact") },
407
-	{ MODKEY|ShiftMask,		XK_BackSpace,	spawn,		SHCMD("sysact") },
408
-
409
-
410
-/*  { MODKEY|ShiftMask,        XK_a, scratchpad_show, {0} },
411
-	{ MODKEY|ShiftMask,        XK_s, scratchpad_hide, {0} },
412
-	{ MODKEY|ShiftMask|ALTKEY, XK_equal,scratchpad_remove,{0} },
413
-  */
414
-	{ MODKEY,         			XK_Tab,		view,		{0} },
415
-	/* { MODKEY|ShiftMask,		XK_Tab,		spawn,		SHCMD("") }, */
416
-	{ MODKEY,         			XK_q,		killclient,	{0} },
417
-	{ MODKEY|ShiftMask,		XK_q,		spawn,		SHCMD("sysact") },
418
-	{ MODKEY,         			XK_w,		spawn,		SHCMD("$BROWSER") },
419
-	{ MODKEY|ShiftMask,	XK_w,		spawn,		SHCMD("$BROWSER2") },
420
-  { MODKEY,                	XK_c,		spawn,		SHCMD("clipdl") },
421
-  { MODKEY|ShiftMask,       XK_c,		spawn,		SHCMD(TERMINAL2 " -e tdap") },
422
-  { CTRLKEY|ShiftMask,     XK_c,		spawn,		SHCMD("xdotool type '[email protected]'") },
423
-
424
-/*	{ MODKEYask,		XK_w,		spawn,		SHCMD(TERMINAL " -e sudo nmtui") }, */
425
-	{ MODKEY,         		XK_e,		spawn,		SHCMD(TERMINAL " -e neomutt ; pkill -RTMIN+12 dwmblocks; rmdir ~/.abook") },
426
-	{ MODKEY|ShiftMask,		XK_e,		spawn,		SHCMD("rofi -modi emoji -show emoji") },
427
-	{ MODKEY,         		XK_r,		spawn,		SHCMD(TERMINAL " -e gifcast -w -o ~/Media/SCREEN-REC/`dt - -t :`.mp4") },
428
-	{ MODKEY|ShiftMask,		XK_r,		spawn,		SHCMD(TERMINAL " -e htop") },
429
-	{ ALTKEY,         		XK_y,	  spawn,     SHCMD("youtube-music") },
430
-	{ MODKEY,         		XK_t,		setlayout,	{.v = &layouts[0]} }, /* tile */
431
-	{ MODKEY,		          XK_i,		setlayout,	{.v = &layouts[3]} }, /* dwindle */
432
-	{ MODKEY,         		XK_u,		setlayout,	{.v = &layouts[2]} }, /* deck */
433
-	{ MODKEY,         		XK_y,		setlayout,	{.v = &layouts[0]} }, /* centeredmaster */
434
-	{ MODKEY,         		XK_o,		setlayout,  {.v = &layouts[4]} },
435
-	{ MODKEY|ShiftMask,		XK_u,		setlayout,	{.v = &layouts[5]} }, /* monocle */
436
-	{ MODKEY|ShiftMask,		XK_i,		setlayout,	{.v = &layouts[7]} }, /* centeredfloatingmaster */
437
-	{ MODKEY|ShiftMask,		XK_t,		setlayout,	{.v = &layouts[1]} }, /* bstack */
438
-	{ MODKEY|ShiftMask,   XK_y,		setlayout,	{.v = &layouts[4]} }, /* spiral */
439
-	{ MODKEY,         		XK_p,		incnmaster,     {.i = +1 } },
440
-	{ MODKEY|ShiftMask,		XK_p,		incnmaster,     {.i = -1 } },
441
-/*	{ MODKEY,         			XK_p,		spawn,		SHCMD("mpc toggle") },
442
-	{ MODKEY|ShiftMask,	XK_p,		spawn,		SHCMD("mpc pause ; pauseallmpv") },*/
443
-
444
-    { MODKEY,         			XK_bracketleft,		spawn,		SHCMD("mpc seek -10") },
445
-	{ MODKEY|ShiftMask,	XK_bracketleft,		spawn,		SHCMD("mpc seek -60") },
446
-	{ MODKEY,         			XK_bracketright,	spawn,		SHCMD("mpc seek +10") },
447
-	{ MODKEY|ShiftMask,	XK_bracketright,	spawn,		SHCMD("mpc seek +60") },
448
-//	{ MODKEY,         			XK_backslash,		view,		{0} },
449
-	/* { MODKEY|ShiftMask,		XK_backslash,		spawn,		SHCMD("") }, */
450
-
451
-	{ MODKEY,         			XK_a,		togglegaps,	{0} },
452
-	{ MODKEY|ShiftMask,     XK_a,		defaultgaps,	{0} },
453
-//	{ MODKEY,         			XK_s,		togglesticky,	{0} },
454
-  { MODKEY|ShiftMask,		XK_s,		spawn,     SHCMD("gnome-screenshot -i") },
455
-	{ MODKEY,         			XK_d,		spawn,          SHCMD("rfi 33") },
456
-	{ MODKEY|ALTKEY,         			XK_d,		spawn,  SHCMD("rfi 40") },
457
-	{ MODKEY|ALTKEY,         		  XK_b,		spawn,		SHCMD("passmenu") },
458
-	{ MODKEY,               XK_f,		togglefullscr,	{0} },
459
-	{ MODKEY|ShiftMask,     XK_f,		setlayout,	{.v = &layouts[8]} },
460
-	{ MODKEY,               XK_g,		shiftview,	{ .i = -1 } },
461
-	{ MODKEY|ShiftMask,     XK_g,		shifttag,	{ .i = -1 } },
462
-	{ MODKEY,               XK_h,		setmfact,	{.f = -0.05} },
463
-	{ MODKEY,               XK_l,		setmfact,      	{.f = +0.05} },
464
-	{ MODKEY|ShiftMask,     XK_l,		spawn,    SHCMD("formdata") },
465
-  { CTRLKEY|ShiftMask,    XK_l,		spawn,    SHCMD("chlnk") },
466
-//	{ MODKEY,               XK_semicolon,	shiftview,	{ .i = 1 } },
467
-	{ MODKEY|ShiftMask,     XK_semicolon,	shifttag,	{ .i = 1 } },
468
-	{ ALTKEY|ShiftMask,     XK_p, spawn, SHCMD(TERMINAL " -e snipSnip&&notify-send '✅ Coppied from Clipboard'") },
469
-	{ ALTKEY|ShiftMask,     XK_o, spawn, SHCMD(TERMINAL " -e snipSnip -o&&notify-send '✅ Saved to Clipboard'") },
470
-	{ MODKEY,               XK_apostrophe,	togglescratch,	{.ui = 1} },
471
-	/* { MODKEY|ShiftMask,	XK_apostrophe,	spawn,		SHCMD("") }, */
472
-	{ MODKEY,               XK_Return,	spawn,		{.v = term2cmd } },
473
-	{ MODKEY,               XK_z,		incrgaps,	{.i = +3 } },
474
-	/* { MODKEY|ShiftMask,	XK_z,		spawn,		SHCMD("") }, */
475
-	{ MODKEY,               XK_x,		incrgaps,	{.i = -3 } },
476
-	/* { MODKEY|ShiftMask,	XK_x,		spawn,		SHCMD("") }, */
477
-	/* { MODKEY,         		XK_c,		spawn,		SHCMD("") }, */
478
-	/* { MODKEY|ShiftMask,	XK_c,		spawn,		SHCMD("") }, */
479
-	/* V is automatically bound above in STACKKEYS */
480
-	{ MODKEY,         			XK_b,		togglebar,	{0} },
481
-	{ MODKEY|ShiftMask,			XK_b,		spawn,    SHCMD("blueberry") },
482
-	/* { MODKEY|ShiftMask, 	XK_b,		spawn,		SHCMD("") }, */
483
-	{ MODKEY,         			XK_n,		spawn,		SHCMD(TERMINAL " -e vnote") },
484
-	{ MODKEY|ShiftMask,     XK_n,		spawn,		SHCMD(TERMINAL " -e [ ! -d $HOME/Documents ] && mkdir $HOME/Documents >/dev/null 2>&1; ${TERMINAL} -e nvim $HOME/Documents/notes") },
485
-  { ALTKEY,               XK_n,		spawn,		SHCMD(TERMINAL " -e nmon") },
486
-  { ALTKEY|ShiftMask,     XK_m,		spawn,		SHCMD(TERMINAL " -e htop") },
487
-	{ MODKEY,         			XK_m,		spawn,		SHCMD(TERMINAL " -e ncmpcpp") },
488
-
489
-	{ MODKEY|ShiftMask,     XK_m,		spawn,		SHCMD(TERMINAL " -e mpv `xclip -selection primary -o`") },
490
-	{ MODKEY,         			XK_comma,	spawn,		SHCMD("mpc prev") },
491
-	{ MODKEY|ShiftMask,     XK_comma,	spawn,		SHCMD("mpc seek 0%") },
492
-	{ MODKEY,         			XK_period,	spawn,		SHCMD(TERMINAL2 " -e qcopy -w") },
493
-	{ MODKEY|ShiftMask,     XK_period,	spawn,		SHCMD("mpc repeat") },
494
-
495
-	{ MODKEY,         			XK_Left,	focusmon,	{.i = -1 } },
496
-	{ MODKEY|ShiftMask,     XK_Left,	tagmon,		{.i = -1 } },
497
-	{ MODKEY,         			XK_Right,	focusmon,	{.i = +1 } },
498
-	{ MODKEY|ShiftMask,     XK_Right,	tagmon,		{.i = +1 } },
499
-
500
-	{ MODKEY,         			XK_Page_Up,	shiftview,	{ .i = -1 } },
501
-	{ MODKEY|ShiftMask,     XK_Page_Up,	shifttag,	{ .i = -1 } },
502
-	{ MODKEY,         			XK_Page_Down,	shiftview,	{ .i = +1 } },
503
-	{ MODKEY|ShiftMask,     XK_Page_Down,	shifttag,	{ .i = +1 } },
504
-	{ MODKEY,         			XK_Insert,	spawn,		SHCMD("xdotool type $(grep -v '^#' ~/.local/share/Nu1LL1nuX/snippets | dmenu -i -l 50 | cut -d' ' -f1)") },
505
-
506
-	{ MODKEY,         			XK_F2,		spawn,		SHCMD("flameshot gui") },
507
-	{ MODKEY,         			XK_F3,		spawn,		SHCMD("displayselect") },
508
-	{ MODKEY,         			XK_F4,		spawn,		SHCMD(TERMINAL " -e pulsemixer; kill -44 $(pidof dwmblocks)") },
509
-  { MODKEY,         		  XK_F5,		spawn,		SHCMD("pavucontrol") },
510
-//	{ MODKEY,         			XK_F6,		spawn,		SHCMD("torwrap") },
511
-//	{ MODKEY,         			XK_F7,		spawn,		SHCMD("td-toggle") },
512
-//	{ MODKEY,         			XK_F8,		spawn,		SHCMD("mw -Y") },
513
-//	{ MODKEY,         			XK_F9,		spawn,		SHCMD("/usr/bin/st -e 'vfzf $custDir'") },
514
-//	{ MODKEY,         			XK_F10,		spawn,		SHCMD(TERMINAL " -e [ ! -d ${custDir} ] && mkdir ${custDir} >/dev/null 2>&1; ${TERMINAL} -e nvim ${custDir}/`find $HOME/CONCISE/repos -type f|sed 's/^.\//'|fzfp`)") },
515
-//  { MODKEY,         			XK_F11,		spawn,		SHCMD("mpv --no-cache --no-osc --no-input-default-bindings --profile=low-latency --input-conf=/dev/null --title=webcam $(ls /dev/video[0,2,4,6,8] | tail -n 1)") },
516
-	//{ MODKEY,         			XK_F12,		spawn,		SHCMD(TERMINAL " -e [ ! -d ${HOME}/SCRATCH ] && mkdir ${HOME}/SCRATCH >/dev/null 2>&1; ${TERMINAL} -e /usr/bin/lfp ${HOME}/SCRATCH") },
517
-	{ MODKEY,                	XK_space,	spawn,	    SHCMD(TERMINAL " -e /usr/bin/snip") },
518
-	{ MODKEY|ShiftMask,	XK_space,	zoom,	        {0} },
519
-	{ MODKEY|ShiftMask,	XK_space,	togglefloating,	{0} },
520
-
521
-	{ 0,				XK_Print,	spawn,		SHCMD("maim pic-full-$(date '+%y%m%d-%H%M-%S').png") },
522
-	{ ShiftMask,			XK_Print,	spawn,		SHCMD("maimpick") },
523
-	{ MODKEY,         			XK_Print,	spawn,		SHCMD("dmenurecord") },
524
-	{ MODKEY|ShiftMask,		XK_Print,	spawn,		SHCMD("dmenurecord kill") },
525
-	{ MODKEY,         			XK_Delete,	spawn,		SHCMD("dmenurecord kill") },
526
-	{ MODKEY,         			XK_Scroll_Lock,	spawn,		SHCMD("killall screenkey || screenkey &") },
527
-
528
-	{ 0, XF86XK_AudioMute,		spawn,		SHCMD("pamixer -t; kill -44 $(pidof dwmblocks)") },
529
-	{ 0, XF86XK_AudioRaiseVolume,	spawn,		SHCMD("pamixer --allow-boost -i 3; kill -44 $(pidof dwmblocks)") },
530
-	{ 0, XF86XK_AudioLowerVolume,	spawn,		SHCMD("pamixer --allow-boost -d 3; kill -44 $(pidof dwmblocks)") },
531
-	{ 0, XF86XK_AudioPrev,		spawn,		SHCMD("mpc prev") },
532
-	{ 0, XF86XK_AudioNext,		spawn,		SHCMD("mpc next") },
533
-	{ 0, XF86XK_AudioPause,		spawn,		SHCMD("mpc pause") },
534
-	{ 0, XF86XK_AudioPlay,		spawn,		SHCMD("mpc play") },
535
-	{ 0, XF86XK_AudioStop,		spawn,		SHCMD("mpc stop") },
536
-	{ 0, XF86XK_AudioRewind,	spawn,		SHCMD("mpc seek -10") },
537
-	{ 0, XF86XK_AudioForward,	spawn,		SHCMD("mpc seek +10") },
538
-	{ 0, XF86XK_AudioMedia,		spawn,		SHCMD(TERMINAL " -e ncmpcpp") },
539
-	{ 0, XF86XK_AudioMicMute,	spawn,		SHCMD("pactl set-source-mute @DEFAULT_SOURCE@ toggle") },
540
-	{ 0, XF86XK_PowerOff,		spawn,		SHCMD("sysact") },
541
-	{ 0, XF86XK_Calculator,		spawn,		SHCMD(TERMINAL " -e bc -l") },
542
-	{ 0, XF86XK_Sleep,		spawn,		SHCMD("sudo -A zzz") },
543
-	{ 0, XF86XK_WWW,		spawn,		SHCMD("$BROWSER") },
544
-	{ 0, XF86XK_DOS,		spawn,		SHCMD(TERMINAL) },
545
-	{ 0, XF86XK_ScreenSaver,	spawn,		SHCMD("slock & xset dpms force off; mpc pause; pauseallmpv") },
546
-	{ 0, XF86XK_TaskPane,		spawn,		SHCMD(TERMINAL " -e htop") },
547
-	{ 0, XF86XK_Mail,		spawn,		SHCMD(TERMINAL " -e neomutt ; pkill -RTMIN+12 dwmblocks") },
548
-	{ 0, XF86XK_MyComputer,		spawn,		SHCMD(TERMINAL " -e lf /") },
549
-	/* { 0, XF86XK_Battery,		spawn,		SHCMD("") }, */
550
-	{ 0, XF86XK_Launch1,		spawn,		SHCMD("xset dpms force off") },
551
-	{ 0, XF86XK_TouchpadToggle,	spawn,		SHCMD("(synclient | grep 'TouchpadOff.*1' && synclient TouchpadOff=0) || synclient TouchpadOff=1") },
552
-	{ 0, XF86XK_TouchpadOff,	spawn,		SHCMD("synclient TouchpadOff=1") },
553
-	{ 0, XF86XK_TouchpadOn,		spawn,		SHCMD("synclient TouchpadOff=0") },
554
-	{ 0, XF86XK_MonBrightnessUp,	spawn,		SHCMD("xbacklight -inc 15") },
555
-	{ 0, XF86XK_MonBrightnessDown,	spawn,		SHCMD("xbacklight -dec 15") },
556
-
557
-	/* { MODKEY|Mod4Mask,              XK_h,      incrgaps,       {.i = +1 } }, */
558
-	/* { MODKEY|Mod4Mask,              XK_l,      incrgaps,       {.i = -1 } }, */
559
-	/* { MODKEY|Mod4Mask|ShiftMask,    XK_h,      incrogaps,      {.i = +1 } }, */
560
-	/* { MODKEY|Mod4Mask|ShiftMask,    XK_l,      incrogaps,      {.i = -1 } }, */
561
-	/* { MODKEY|Mod4Mask|ControlMask,  XK_h,      incrigaps,      {.i = +1 } }, */
562
-	/* { MODKEY|Mod4Mask|ControlMask,  XK_l,      incrigaps,      {.i = -1 } }, */
563
-	/* { MODKEY|Mod4Mask|ShiftMask,    XK_0,      defaultgaps,    {0} }, */
564
-	/* { MODKEY,                                XK_y,      incrihgaps,     {.i = +1 } }, */
565
-	/* { MODKEY,                                XK_o,      incrihgaps,     {.i = -1 } }, */
566
-	/* { MODKEY|ControlMask,           XK_y,      incrivgaps,     {.i = +1 } }, */
567
-	/* { MODKEY|ControlMask,           XK_o,      incrivgaps,     {.i = -1 } }, */
568
-	/* { MODKEY|Mod4Mask,              XK_y,      incrohgaps,     {.i = +1 } }, */
569
-	/* { MODKEY|Mod4Mask,              XK_o,      incrohgaps,     {.i = -1 } }, */
570
-	/* { MODKEY|ShiftMask,             XK_y,      incrovgaps,     {.i = +1 } }, */
571
-	/* { MODKEY|ShiftMask,             XK_o,      incrovgaps,     {.i = -1 } }, */
572
-
573
-};
574
+#include "keybinds.c"
575
 
576
 /* button definitions */
577
 /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
578
diff --git a/drw.o b/drw.o
579
new file mode 100644
580
index 0000000..18962a6
581
Binary files /dev/null and b/drw.o differ
582
diff --git a/icons/hicolor/1024x1024/apps/AutoLinux.png b/icons/hicolor/1024x1024/apps/AutoLinux.png
583
new file mode 100644
584
index 0000000..2289793
585
Binary files /dev/null and b/icons/hicolor/1024x1024/apps/AutoLinux.png differ
586
diff --git a/icons/hicolor/128x128/apps/AutoLinux.png b/icons/hicolor/128x128/apps/AutoLinux.png
587
new file mode 100644
588
index 0000000..f266b1c
589
Binary files /dev/null and b/icons/hicolor/128x128/apps/AutoLinux.png differ
590
diff --git a/icons/hicolor/16x16/apps/AutoLinux.png b/icons/hicolor/16x16/apps/AutoLinux.png
591
new file mode 100644
592
index 0000000..c5bbfea
593
Binary files /dev/null and b/icons/hicolor/16x16/apps/AutoLinux.png differ
594
diff --git a/icons/hicolor/192x192/apps/AutoLinux.png b/icons/hicolor/192x192/apps/AutoLinux.png
595
new file mode 100644
596
index 0000000..8b662e9
597
Binary files /dev/null and b/icons/hicolor/192x192/apps/AutoLinux.png differ
598
diff --git a/icons/hicolor/22x22/apps/AutoLinux.png b/icons/hicolor/22x22/apps/AutoLinux.png
599
new file mode 100644
600
index 0000000..2ce01dd
601
Binary files /dev/null and b/icons/hicolor/22x22/apps/AutoLinux.png differ
602
diff --git a/icons/hicolor/24x24/apps/AutoLinux.png b/icons/hicolor/24x24/apps/AutoLinux.png
603
new file mode 100644
604
index 0000000..67e3c54
605
Binary files /dev/null and b/icons/hicolor/24x24/apps/AutoLinux.png differ
606
diff --git a/icons/hicolor/256x256/apps/AutoLinux.png b/icons/hicolor/256x256/apps/AutoLinux.png
607
new file mode 100644
608
index 0000000..1bf0702
609
Binary files /dev/null and b/icons/hicolor/256x256/apps/AutoLinux.png differ
610
diff --git a/icons/hicolor/32x32/apps/AutoLinux.png b/icons/hicolor/32x32/apps/AutoLinux.png
611
new file mode 100644
612
index 0000000..168998c
613
Binary files /dev/null and b/icons/hicolor/32x32/apps/AutoLinux.png differ
614
diff --git a/icons/hicolor/36x36/apps/AutoLinux.png b/icons/hicolor/36x36/apps/AutoLinux.png
615
new file mode 100644
616
index 0000000..a52ef1f
617
Binary files /dev/null and b/icons/hicolor/36x36/apps/AutoLinux.png differ
618
diff --git a/icons/hicolor/48x48/apps/AutoLinux.png b/icons/hicolor/48x48/apps/AutoLinux.png
619
new file mode 100644
620
index 0000000..b5f8e40
621
Binary files /dev/null and b/icons/hicolor/48x48/apps/AutoLinux.png differ
622
diff --git a/icons/hicolor/512x512/apps/AutoLinux.png b/icons/hicolor/512x512/apps/AutoLinux.png
623
new file mode 100644
624
index 0000000..5f10032
625
Binary files /dev/null and b/icons/hicolor/512x512/apps/AutoLinux.png differ
626
diff --git a/icons/hicolor/64x64/apps/AutoLinux.png b/icons/hicolor/64x64/apps/AutoLinux.png
627
new file mode 100644
628
index 0000000..6591920
629
Binary files /dev/null and b/icons/hicolor/64x64/apps/AutoLinux.png differ
630
diff --git a/icons/hicolor/72x72/apps/AutoLinux.png b/icons/hicolor/72x72/apps/AutoLinux.png
631
new file mode 100644
632
index 0000000..d8ce276
633
Binary files /dev/null and b/icons/hicolor/72x72/apps/AutoLinux.png differ
634
diff --git a/icons/hicolor/96x96/apps/AutoLinux.png b/icons/hicolor/96x96/apps/AutoLinux.png
635
new file mode 100644
636
index 0000000..46c5e2d
637
Binary files /dev/null and b/icons/hicolor/96x96/apps/AutoLinux.png differ
638
diff --git a/icons/hicolor/scalable/apps/AutoLinux.svg b/icons/hicolor/scalable/apps/AutoLinux.svg
639
new file mode 100644
640
index 0000000..6fabbf2
641
--- /dev/null
642
+++ b/icons/hicolor/scalable/apps/AutoLinux.svg
643
@@ -0,0 +1 @@
644
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="512pt" height="512pt" viewBox="0 0 512 512" preserveAspectRatio="xMidYMid meet"><g transform="translate(0,512) scale(0.100000,-0.100000)" fill="#00ee00" stroke="none"><path d="M2465 3830 c-80 -14 -129 -37 -325 -150 -102 -58 -263 -151 -359 -206 -212 -120 -289 -188 -344 -305 -19 -41 -40 -98 -46 -127 -7 -34 -11 -213 -11 -495 0 -365 3 -453 15 -502 30 -115 100 -225 185 -289 69 -53 735 -435 800 -460 76 -28 278 -30 360 -3 60 20 723 398 801 456 60 46 123 122 154 188 53 111 55 133 55 610 0 282 -4 461 -11 495 -20 96 -75 194 -148 267 -58 57 -117 94 -428 273 -199 114 -388 216 -421 227 -70 24 -205 34 -277 21z m193 -244 c41 -15 696 -388 719 -410 9 -8 -73 -60 -330 -207 -188 -108 -360 -202 -382 -210 -59 -19 -161 -15 -220 9 -27 10 -197 105 -378 209 -237 138 -324 193 -315 200 30 24 686 398 718 409 47 18 138 17 188 0z m-538 -915 c115 -67 222 -120 262 -132 l68 -21 0 -495 c0 -434 -2 -494 -15 -489 -8 3 -164 91 -347 197 -357 205 -410 244 -450 333 -23 50 -23 58 -26 460 -2 225 -1 415 2 422 4 10 49 -12 158 -75 84 -49 241 -139 348 -200z m1398 -142 c-3 -408 -3 -415 -26 -465 -40 -89 -93 -128 -450 -333 -183 -106 -339 -194 -347 -197 -13 -5 -15 55 -15 489 l0 495 68 21 c60 18 267 131 672 368 47 28 89 47 93 43 4 -4 7 -193 5 -421z"/></g></svg>
645
diff --git a/icons/hicolor/symbolic/apps/AutoLinux-symbolic.svg b/icons/hicolor/symbolic/apps/AutoLinux-symbolic.svg
646
new file mode 100644
647
index 0000000..6fabbf2
648
--- /dev/null
649
+++ b/icons/hicolor/symbolic/apps/AutoLinux-symbolic.svg
650
@@ -0,0 +1 @@
651
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="512pt" height="512pt" viewBox="0 0 512 512" preserveAspectRatio="xMidYMid meet"><g transform="translate(0,512) scale(0.100000,-0.100000)" fill="#00ee00" stroke="none"><path d="M2465 3830 c-80 -14 -129 -37 -325 -150 -102 -58 -263 -151 -359 -206 -212 -120 -289 -188 -344 -305 -19 -41 -40 -98 -46 -127 -7 -34 -11 -213 -11 -495 0 -365 3 -453 15 -502 30 -115 100 -225 185 -289 69 -53 735 -435 800 -460 76 -28 278 -30 360 -3 60 20 723 398 801 456 60 46 123 122 154 188 53 111 55 133 55 610 0 282 -4 461 -11 495 -20 96 -75 194 -148 267 -58 57 -117 94 -428 273 -199 114 -388 216 -421 227 -70 24 -205 34 -277 21z m193 -244 c41 -15 696 -388 719 -410 9 -8 -73 -60 -330 -207 -188 -108 -360 -202 -382 -210 -59 -19 -161 -15 -220 9 -27 10 -197 105 -378 209 -237 138 -324 193 -315 200 30 24 686 398 718 409 47 18 138 17 188 0z m-538 -915 c115 -67 222 -120 262 -132 l68 -21 0 -495 c0 -434 -2 -494 -15 -489 -8 3 -164 91 -347 197 -357 205 -410 244 -450 333 -23 50 -23 58 -26 460 -2 225 -1 415 2 422 4 10 49 -12 158 -75 84 -49 241 -139 348 -200z m1398 -142 c-3 -408 -3 -415 -26 -465 -40 -89 -93 -128 -450 -333 -183 -106 -339 -194 -347 -197 -13 -5 -15 55 -15 489 l0 495 68 21 c60 18 267 131 672 368 47 28 89 47 93 43 4 -4 7 -193 5 -421z"/></g></svg>
652
diff --git a/keybindings.c b/keybindings.c
653
new file mode 100644
654
index 0000000..9665e25
655
--- /dev/null
656
+++ b/keybindings.c
657
@@ -0,0 +1,225 @@
658
+
659
+//---------------------------------------------------------- Constants ---------------------------------------------------------//
660
+
661
+//--------------------------------------------------------- Key Definitions -----------------------------------------------------//
662
+
663
+
664
+static Key keys[] = {
665
+	/* modifier                     key        function        argument */
666
+	STACKKEYS(MODKEY,                          focus)
667
+	STACKKEYS(ALTKEY,                          push)
668
+	STACKKEYS(MODKEY|ShiftMask,                push)
669
+	/* { MODKEY|ShiftMask,		XK_Escape,	spawn,	SHCMD("") }, */
670
+	{ MODKEY,         			XK_grave,	spawn,	SHCMD("dmenuunicode") },
671
+	/* { MODKEY|ShiftMask,		XK_grave,	togglescratch,	SHCMD("") }, */
672
+	TAGKEYS(			XK_1,		0)
673
+	TAGKEYS(			XK_2,		1)
674
+	TAGKEYS(			XK_3,		2)
675
+	TAGKEYS(			XK_4,		3)
676
+	TAGKEYS(			XK_5,		4)
677
+	TAGKEYS(			XK_6,		5)
678
+	TAGKEYS(			XK_7,		6)
679
+	TAGKEYS(			XK_8,		7)
680
+	TAGKEYS(  		XK_9,		8)
681
+
682
+  { MODKEY,             XK_F12,     spawn,		SHCMD("cpSecPass 1") },
683
+  { MODKEY,             XK_F11,     spawn,		SHCMD("cpSecPass 2") },
684
+  { MODKEY,             XK_F6,      spawn,		SHCMD("cpSecPass 3") },
685
+  { MODKEY,             XK_F7,      spawn,		SHCMD("cpSecPass 4") },
686
+  { MODKEY,             XK_F9,      spawn,		SHCMD("cpSecPass 5") },
687
+  { MODKEY,             XK_F10,     spawn,		SHCMD("cpSecPass 6") },
688
+  { ALTKEY|ShiftMask,   XK_F10,     spawn,		SHCMD("clipmenu") },
689
+  { MODKEY,             XK_F8,      spawn,		SHCMD("cpSecPass 7") },
690
+  { MODKEY,             XK_minus,	  spawn,		SHCMD("cpSecPass 8") },
691
+  { MODKEY,             XK_equal,	  spawn,		SHCMD("cpSecPass 9") },
692
+  { MODKEY,             XK_F13,     spawn,		SHCMD("cpSecPass 10") },
693
+
694
+
695
+  // Scratch Pads:
696
+
697
+	{ MODKEY,		XK_s,	 togglescratch, {.ui = 0 } },
698
+	{ ALTKEY,		XK_Return,  togglescratch, {.ui = 1 } },
699
+	{ MODKEY,		XK_backslash,	togglescratch, {.ui = 3 } },
700
+	{ MODKEY|ShiftMask,		XK_backslash,	togglescratch, {.ui = 4 } },
701
+	{ MODKEY|ControlMask, XK_period,  spawn, SHCMD(TERMINAL " -e job") },
702
+  { MODKEY,   XK_Escape,    spawn, SHCMD("startJustine") },
703
+	{ MODKEY,   XK_slash,	    spawn, SHCMD("startJustineSilent") },
704
+
705
+
706
+
707
+
708
+  { MODKEY,         			XK_0,		view,		{.ui = ~0 } },
709
+	{ MODKEY|ShiftMask,		XK_0,		tag,		{.ui = ~0 } },
710
+	{ MODKEY,         			XK_minus,	spawn,		SHCMD("pamixer --allow-boost -d 5; kill -44 $(pidof dwmblocks)") },
711
+//	{ MODKEY|ShiftMask,		XK_minus,	spawn,		SHCMD("pamixer --allow-boost -d 15; kill -44 $(pidof dwmblocks)") },
712
+ // { MODKEY,         			XK_equal,	spawn,		SHCMD("pamixer --allow-boost -i 5; kill -44 $(pidof dwmblocks)") },
713
+	{ MODKEY|ShiftMask,		XK_equal,	spawn,		SHCMD("pamixer --allow-boost -i 15; kill -44 $(pidof dwmblocks)") },
714
+	{ MODKEY,         			XK_BackSpace,	spawn,		SHCMD("sysact") },
715
+	{ MODKEY|ShiftMask,		XK_BackSpace,	spawn,		SHCMD("sysact") },
716
+
717
+
718
+/*  { MODKEY|ShiftMask,        XK_a, scratchpad_show, {0} },
719
+	{ MODKEY|ShiftMask,        XK_s, scratchpad_hide, {0} },
720
+	{ MODKEY|ShiftMask|ALTKEY, XK_equal,scratchpad_remove,{0} },
721
+  */
722
+	{ MODKEY,         			XK_Tab,		view,		{0} },
723
+	/* { MODKEY|ShiftMask,		XK_Tab,		spawn,		SHCMD("") }, */
724
+	{ MODKEY,         			XK_q,		killclient,	{0} },
725
+	{ MODKEY|ShiftMask,		XK_q,		spawn,		SHCMD("sysact") },
726
+	{ MODKEY,         			XK_w,		spawn,		SHCMD("$BROWSER") },
727
+	{ MODKEY|ShiftMask,	XK_w,		spawn,		SHCMD("$BROWSER2") },
728
+  { MODKEY,                	XK_c,		spawn,		SHCMD("clipdl") },
729
+  { MODKEY|ShiftMask,       XK_c,		spawn,		SHCMD(TERMINAL2 " -e tdap") },
730
+  { CTRLKEY|ShiftMask,     XK_c,		spawn,		SHCMD("xdotool type '[email protected]'") },
731
+
732
+/*	{ MODKEYask,		XK_w,		spawn,		SHCMD(TERMINAL " -e sudo nmtui") }, */
733
+	{ MODKEY,         		XK_e,		spawn,		SHCMD(TERMINAL " -e neomutt ; pkill -RTMIN+12 dwmblocks; rmdir ~/.abook") },
734
+	{ MODKEY|ShiftMask,		XK_e,		spawn,		SHCMD("rofi -modi emoji -show emoji") },
735
+	{ MODKEY,         		XK_r,		spawn,		SHCMD(TERMINAL " -e gifcast -w -o ~/Media/SCREEN-REC/`dt - -t :`.mp4") },
736
+	{ MODKEY|ShiftMask,		XK_r,		spawn,		SHCMD(TERMINAL " -e htop") },
737
+	{ ALTKEY,         		XK_y,	  spawn,     SHCMD("youtube-music") },
738
+	{ MODKEY,         		XK_t,		setlayout,	{.v = &layouts[0]} }, /* tile */
739
+	{ MODKEY,		          XK_i,		setlayout,	{.v = &layouts[3]} }, /* dwindle */
740
+	{ MODKEY,         		XK_u,		setlayout,	{.v = &layouts[2]} }, /* deck */
741
+	{ MODKEY,         		XK_y,		setlayout,	{.v = &layouts[0]} }, /* centeredmaster */
742
+	{ MODKEY,         		XK_o,		setlayout,  {.v = &layouts[4]} },
743
+	{ MODKEY|ShiftMask,		XK_u,		setlayout,	{.v = &layouts[5]} }, /* monocle */
744
+	{ MODKEY|ShiftMask,		XK_i,		setlayout,	{.v = &layouts[7]} }, /* centeredfloatingmaster */
745
+	{ MODKEY|ShiftMask,		XK_t,		setlayout,	{.v = &layouts[1]} }, /* bstack */
746
+	{ MODKEY|ShiftMask,   XK_y,		setlayout,	{.v = &layouts[4]} }, /* spiral */
747
+	{ MODKEY,         		XK_p,		incnmaster,     {.i = +1 } },
748
+	{ MODKEY|ShiftMask,		XK_p,		incnmaster,     {.i = -1 } },
749
+/*	{ MODKEY,         			XK_p,		spawn,		SHCMD("mpc toggle") },
750
+	{ MODKEY|ShiftMask,	XK_p,		spawn,		SHCMD("mpc pause ; pauseallmpv") },*/
751
+
752
+    { MODKEY,         			XK_bracketleft,		spawn,		SHCMD("mpc seek -10") },
753
+	{ MODKEY|ShiftMask,	XK_bracketleft,		spawn,		SHCMD("mpc seek -60") },
754
+	{ MODKEY,         			XK_bracketright,	spawn,		SHCMD("mpc seek +10") },
755
+	{ MODKEY|ShiftMask,	XK_bracketright,	spawn,		SHCMD("mpc seek +60") },
756
+//	{ MODKEY,         			XK_backslash,		view,		{0} },
757
+	/* { MODKEY|ShiftMask,		XK_backslash,		spawn,		SHCMD("") }, */
758
+
759
+	{ MODKEY,         			XK_a,		togglegaps,	{0} },
760
+	{ MODKEY|ShiftMask,     XK_a,		defaultgaps,	{0} },
761
+//	{ MODKEY,         			XK_s,		togglesticky,	{0} },
762
+  { MODKEY|ShiftMask,		XK_s,		spawn,     SHCMD("gnome-screenshot -i") },
763
+	{ MODKEY,         			XK_d,		spawn,          SHCMD("rfi 33") },
764
+	{ MODKEY|ALTKEY,         			XK_d,		spawn,  SHCMD("rfi 40") },
765
+	{ MODKEY|ALTKEY,         		  XK_b,		spawn,		SHCMD("passmenu") },
766
+	{ MODKEY,               XK_f,		togglefullscr,	{0} },
767
+	{ MODKEY|ShiftMask,     XK_f,		setlayout,	{.v = &layouts[8]} },
768
+	{ MODKEY,               XK_g,		shiftview,	{ .i = -1 } },
769
+	{ MODKEY|ShiftMask,     XK_g,		shifttag,	{ .i = -1 } },
770
+	{ MODKEY,               XK_h,		setmfact,	{.f = -0.05} },
771
+	{ MODKEY,               XK_l,		setmfact,      	{.f = +0.05} },
772
+	{ MODKEY|ShiftMask,     XK_l,		spawn,    SHCMD("formdata") },
773
+  { CTRLKEY|ShiftMask,    XK_l,		spawn,    SHCMD("chlnk") },
774
+//	{ MODKEY,               XK_semicolon,	shiftview,	{ .i = 1 } },
775
+	{ MODKEY|ShiftMask,     XK_semicolon,	shifttag,	{ .i = 1 } },
776
+	{ ALTKEY|ShiftMask,     XK_p, spawn, SHCMD(TERMINAL " -e snipSnip&&notify-send '✅ Coppied from Clipboard'") },
777
+	{ ALTKEY|ShiftMask,     XK_o, spawn, SHCMD(TERMINAL " -e snipSnip -o&&notify-send '✅ Saved to Clipboard'") },
778
+	{ MODKEY,               XK_apostrophe,	togglescratch,	{.ui = 1} },
779
+	/* { MODKEY|ShiftMask,	XK_apostrophe,	spawn,		SHCMD("") }, */
780
+	{ MODKEY,               XK_Return,	spawn,		{.v = term2cmd } },
781
+	{ MODKEY,               XK_z,		incrgaps,	{.i = +3 } },
782
+	/* { MODKEY|ShiftMask,	XK_z,		spawn,		SHCMD("") }, */
783
+	{ MODKEY,               XK_x,		incrgaps,	{.i = -3 } },
784
+	/* { MODKEY|ShiftMask,	XK_x,		spawn,		SHCMD("") }, */
785
+	/* { MODKEY,         		XK_c,		spawn,		SHCMD("") }, */
786
+	/* { MODKEY|ShiftMask,	XK_c,		spawn,		SHCMD("") }, */
787
+	/* V is automatically bound above in STACKKEYS */
788
+	{ MODKEY,         			XK_b,		togglebar,	{0} },
789
+	{ MODKEY|ShiftMask,			XK_b,		spawn,    SHCMD("blueberry") },
790
+	/* { MODKEY|ShiftMask, 	XK_b,		spawn,		SHCMD("") }, */
791
+	{ MODKEY,         			XK_n,		spawn,		SHCMD(TERMINAL " -e vnote") },
792
+	{ MODKEY|ShiftMask,     XK_n,		spawn,		SHCMD(TERMINAL " -e [ ! -d $HOME/Documents ] && mkdir $HOME/Documents >/dev/null 2>&1; ${TERMINAL} -e nvim $HOME/Documents/notes") },
793
+  { ALTKEY,               XK_n,		spawn,		SHCMD(TERMINAL " -e nmon") },
794
+  { ALTKEY|ShiftMask,     XK_m,		spawn,		SHCMD(TERMINAL " -e htop") },
795
+	{ MODKEY,         			XK_m,		spawn,		SHCMD(TERMINAL " -e ncmpcpp") },
796
+
797
+	{ MODKEY|ShiftMask,     XK_m,		spawn,		SHCMD(TERMINAL " -e mpv `xclip -selection primary -o`") },
798
+	{ MODKEY,         			XK_comma,	spawn,		SHCMD("mpc prev") },
799
+	{ MODKEY|ShiftMask,     XK_comma,	spawn,		SHCMD("mpc seek 0%") },
800
+	{ MODKEY,         			XK_period,	spawn,		SHCMD(TERMINAL2 " -e qcopy -w") },
801
+	{ MODKEY|ShiftMask,     XK_period,	spawn,		SHCMD("mpc repeat") },
802
+
803
+	{ MODKEY,         			XK_Left,	focusmon,	{.i = -1 } },
804
+	{ MODKEY|ShiftMask,     XK_Left,	tagmon,		{.i = -1 } },
805
+	{ MODKEY,         			XK_Right,	focusmon,	{.i = +1 } },
806
+	{ MODKEY|ShiftMask,     XK_Right,	tagmon,		{.i = +1 } },
807
+
808
+	{ MODKEY,         			XK_Page_Up,	shiftview,	{ .i = -1 } },
809
+	{ MODKEY|ShiftMask,     XK_Page_Up,	shifttag,	{ .i = -1 } },
810
+	{ MODKEY,         			XK_Page_Down,	shiftview,	{ .i = +1 } },
811
+	{ MODKEY|ShiftMask,     XK_Page_Down,	shifttag,	{ .i = +1 } },
812
+	{ MODKEY,         			XK_Insert,	spawn,		SHCMD("xdotool type $(grep -v '^#' ~/.local/share/Nu1LL1nuX/snippets | dmenu -i -l 50 | cut -d' ' -f1)") },
813
+
814
+	{ MODKEY,         			XK_F2,		spawn,		SHCMD("flameshot gui") },
815
+	{ MODKEY,         			XK_F3,		spawn,		SHCMD("displayselect") },
816
+	{ MODKEY,         			XK_F4,		spawn,		SHCMD(TERMINAL " -e pulsemixer; kill -44 $(pidof dwmblocks)") },
817
+  { MODKEY,         		  XK_F5,		spawn,		SHCMD("pavucontrol") },
818
+//	{ MODKEY,         			XK_F6,		spawn,		SHCMD("torwrap") },
819
+//	{ MODKEY,         			XK_F7,		spawn,		SHCMD("td-toggle") },
820
+//	{ MODKEY,         			XK_F8,		spawn,		SHCMD("mw -Y") },
821
+//	{ MODKEY,         			XK_F9,		spawn,		SHCMD("/usr/bin/st -e 'vfzf $custDir'") },
822
+//	{ MODKEY,         			XK_F10,		spawn,		SHCMD(TERMINAL " -e [ ! -d ${custDir} ] && mkdir ${custDir} >/dev/null 2>&1; ${TERMINAL} -e nvim ${custDir}/`find $HOME/CONCISE/repos -type f|sed 's/^.\//'|fzfp`)") },
823
+//  { MODKEY,         			XK_F11,		spawn,		SHCMD("mpv --no-cache --no-osc --no-input-default-bindings --profile=low-latency --input-conf=/dev/null --title=webcam $(ls /dev/video[0,2,4,6,8] | tail -n 1)") },
824
+	//{ MODKEY,         			XK_F12,		spawn,		SHCMD(TERMINAL " -e [ ! -d ${HOME}/SCRATCH ] && mkdir ${HOME}/SCRATCH >/dev/null 2>&1; ${TERMINAL} -e /usr/bin/lfp ${HOME}/SCRATCH") },
825
+	{ MODKEY,                	XK_space,	spawn,	    SHCMD(TERMINAL " -e /usr/bin/snip") },
826
+	{ MODKEY|ShiftMask,	XK_space,	zoom,	        {0} },
827
+	{ MODKEY|ShiftMask,	XK_space,	togglefloating,	{0} },
828
+
829
+	{ 0,				XK_Print,	spawn,		SHCMD("maim pic-full-$(date '+%y%m%d-%H%M-%S').png") },
830
+	{ ShiftMask,			XK_Print,	spawn,		SHCMD("maimpick") },
831
+	{ MODKEY,         			XK_Print,	spawn,		SHCMD("dmenurecord") },
832
+	{ MODKEY|ShiftMask,		XK_Print,	spawn,		SHCMD("dmenurecord kill") },
833
+	{ MODKEY,         			XK_Delete,	spawn,		SHCMD("dmenurecord kill") },
834
+	{ MODKEY,         			XK_Scroll_Lock,	spawn,		SHCMD("killall screenkey || screenkey &") },
835
+
836
+	{ 0, XF86XK_AudioMute,		spawn,		SHCMD("pamixer -t; kill -44 $(pidof dwmblocks)") },
837
+	{ 0, XF86XK_AudioRaiseVolume,	spawn,		SHCMD("pamixer --allow-boost -i 3; kill -44 $(pidof dwmblocks)") },
838
+	{ 0, XF86XK_AudioLowerVolume,	spawn,		SHCMD("pamixer --allow-boost -d 3; kill -44 $(pidof dwmblocks)") },
839
+	{ 0, XF86XK_AudioPrev,		spawn,		SHCMD("mpc prev") },
840
+	{ 0, XF86XK_AudioNext,		spawn,		SHCMD("mpc next") },
841
+	{ 0, XF86XK_AudioPause,		spawn,		SHCMD("mpc pause") },
842
+	{ 0, XF86XK_AudioPlay,		spawn,		SHCMD("mpc play") },
843
+	{ 0, XF86XK_AudioStop,		spawn,		SHCMD("mpc stop") },
844
+	{ 0, XF86XK_AudioRewind,	spawn,		SHCMD("mpc seek -10") },
845
+	{ 0, XF86XK_AudioForward,	spawn,		SHCMD("mpc seek +10") },
846
+	{ 0, XF86XK_AudioMedia,		spawn,		SHCMD(TERMINAL " -e ncmpcpp") },
847
+	{ 0, XF86XK_AudioMicMute,	spawn,		SHCMD("pactl set-source-mute @DEFAULT_SOURCE@ toggle") },
848
+	{ 0, XF86XK_PowerOff,		spawn,		SHCMD("sysact") },
849
+	{ 0, XF86XK_Calculator,		spawn,		SHCMD(TERMINAL " -e bc -l") },
850
+	{ 0, XF86XK_Sleep,		spawn,		SHCMD("sudo -A zzz") },
851
+	{ 0, XF86XK_WWW,		spawn,		SHCMD("$BROWSER") },
852
+	{ 0, XF86XK_DOS,		spawn,		SHCMD(TERMINAL) },
853
+	{ 0, XF86XK_ScreenSaver,	spawn,		SHCMD("slock & xset dpms force off; mpc pause; pauseallmpv") },
854
+	{ 0, XF86XK_TaskPane,		spawn,		SHCMD(TERMINAL " -e htop") },
855
+	{ 0, XF86XK_Mail,		spawn,		SHCMD(TERMINAL " -e neomutt ; pkill -RTMIN+12 dwmblocks") },
856
+	{ 0, XF86XK_MyComputer,		spawn,		SHCMD(TERMINAL " -e lf /") },
857
+	/* { 0, XF86XK_Battery,		spawn,		SHCMD("") }, */
858
+	{ 0, XF86XK_Launch1,		spawn,		SHCMD("xset dpms force off") },
859
+	{ 0, XF86XK_TouchpadToggle,	spawn,		SHCMD("(synclient | grep 'TouchpadOff.*1' && synclient TouchpadOff=0) || synclient TouchpadOff=1") },
860
+	{ 0, XF86XK_TouchpadOff,	spawn,		SHCMD("synclient TouchpadOff=1") },
861
+	{ 0, XF86XK_TouchpadOn,		spawn,		SHCMD("synclient TouchpadOff=0") },
862
+	{ 0, XF86XK_MonBrightnessUp,	spawn,		SHCMD("xbacklight -inc 15") },
863
+	{ 0, XF86XK_MonBrightnessDown,	spawn,		SHCMD("xbacklight -dec 15") },
864
+
865
+	/* { MODKEY|Mod4Mask,              XK_h,      incrgaps,       {.i = +1 } }, */
866
+	/* { MODKEY|Mod4Mask,              XK_l,      incrgaps,       {.i = -1 } }, */
867
+	/* { MODKEY|Mod4Mask|ShiftMask,    XK_h,      incrogaps,      {.i = +1 } }, */
868
+	/* { MODKEY|Mod4Mask|ShiftMask,    XK_l,      incrogaps,      {.i = -1 } }, */
869
+	/* { MODKEY|Mod4Mask|ControlMask,  XK_h,      incrigaps,      {.i = +1 } }, */
870
+	/* { MODKEY|Mod4Mask|ControlMask,  XK_l,      incrigaps,      {.i = -1 } }, */
871
+	/* { MODKEY|Mod4Mask|ShiftMask,    XK_0,      defaultgaps,    {0} }, */
872
+	/* { MODKEY,                                XK_y,      incrihgaps,     {.i = +1 } }, */
873
+	/* { MODKEY,                                XK_o,      incrihgaps,     {.i = -1 } }, */
874
+	/* { MODKEY|ControlMask,           XK_y,      incrivgaps,     {.i = +1 } }, */
875
+	/* { MODKEY|ControlMask,           XK_o,      incrivgaps,     {.i = -1 } }, */
876
+	/* { MODKEY|Mod4Mask,              XK_y,      incrohgaps,     {.i = +1 } }, */
877
+	/* { MODKEY|Mod4Mask,              XK_o,      incrohgaps,     {.i = -1 } }, */
878
+	/* { MODKEY|ShiftMask,             XK_y,      incrovgaps,     {.i = +1 } }, */
879
+	/* { MODKEY|ShiftMask,             XK_o,      incrovgaps,     {.i = -1 } }, */
880
+
881
+};
882
+
883
diff --git a/keybindings.h b/keybindings.h
884
new file mode 100644
885
index 0000000..d36b991
886
--- /dev/null
887
+++ b/keybindings.h
888
@@ -0,0 +1,247 @@
889
+
890
+//--------------------------------------------------------- Key Definitions -----------------------------------------------------//
891
+
892
+
893
+#define TAGKEYS(KEY,         TAG) \
894
+	{ MODKEY,                       KEY,               view,           {.ui = 1 << TAG} }, \
895
+	{ ALTKEY,                       KEY,               tag,            {.ui = 1 << TAG} }, \
896
+	{ MODKEY|ControlMask,           KEY,               toggleview,     {.ui = 1 << TAG} }, \
897
+	{ MODKEY|ShiftMask,             KEY,               tag,            {.ui = 1 << TAG} }, \
898
+	{ MODKEY|ControlMask|ShiftMask, KEY,               toggletag,      {.ui = 1 << TAG} },
899
+#define STACKKEYS(MOD,ACTION) \
900
+	{ MOD,	XK_j,	        ACTION##stack,	{.i = INC(+1) } }, \
901
+	{ MOD,	XK_k,	        ACTION##stack,	{.i = INC(-1) } }, \
902
+	{ MOD,  XK_BackSpace, ACTION##stack, {.i = PREVSEL } }, \
903
+  { MOD,  XK_comma,    ACTION##stack,  {.i = 0 } }, \
904
+	{ MOD,  XK_Up,	    ACTION##stack,	{.i = INC(+1) } }, \
905
+	{ MOD,  XK_Down,	ACTION##stack,	{.i = INC(-1) } }, \
906
+	/* { MOD, XK_grave, ACTION##stack, {.i = PREVSEL } }, \ */
907
+	/* { MOD, XK_a,     ACTION##stack, {.i = 1 } }, \ */
908
+	/* { MOD, XK_z,     ACTION##stack, {.i = 2 } }, \ */
909
+	/* { MOD, XK_x,     ACTION##stack, {.i = -1 } }, */
910
+
911
+/* helper for spawning shell commands in the pre AutoLinux-5.0 fashion */
912
+
913
+/* commands */
914
+static const char *termcmd[]   = { TERMINAL,  NULL };
915
+static const char *term2cmd[]   = { TERMINAL2,  NULL };
916
+
917
+
918
+static Key keys[] = {
919
+	/* modifier                     key        function        argument */
920
+	STACKKEYS(MODKEY,                          focus)
921
+	STACKKEYS(ALTKEY,                          push)
922
+	STACKKEYS(MODKEY|ShiftMask,                push)
923
+	/* { MODKEY|ShiftMask,		XK_Escape,	spawn,	SHCMD("") }, */
924
+	{ MODKEY,         			XK_grave,	spawn,	SHCMD("dmenuunicode") },
925
+	/* { MODKEY|ShiftMask,		XK_grave,	togglescratch,	SHCMD("") }, */
926
+	TAGKEYS(			XK_1,		0)
927
+	TAGKEYS(			XK_2,		1)
928
+	TAGKEYS(			XK_3,		2)
929
+	TAGKEYS(			XK_4,		3)
930
+	TAGKEYS(			XK_5,		4)
931
+	TAGKEYS(			XK_6,		5)
932
+	TAGKEYS(			XK_7,		6)
933
+	TAGKEYS(			XK_8,		7)
934
+	TAGKEYS(  		XK_9,		8)
935
+
936
+  { MODKEY,             XK_F12,     spawn,		SHCMD("cpSecPass 1") },
937
+  { MODKEY,             XK_F11,     spawn,		SHCMD("cpSecPass 2") },
938
+  { MODKEY,             XK_F6,      spawn,		SHCMD("cpSecPass 3") },
939
+  { MODKEY,             XK_F7,      spawn,		SHCMD("cpSecPass 4") },
940
+  { MODKEY,             XK_F9,      spawn,		SHCMD("cpSecPass 5") },
941
+  { MODKEY,             XK_F10,     spawn,		SHCMD("cpSecPass 6") },
942
+  { ALTKEY|ShiftMask,   XK_F10,     spawn,		SHCMD("clipmenu") },
943
+  { MODKEY,             XK_F8,      spawn,		SHCMD("cpSecPass 7") },
944
+  { MODKEY,             XK_minus,	  spawn,		SHCMD("cpSecPass 8") },
945
+  { MODKEY,             XK_equal,	  spawn,		SHCMD("cpSecPass 9") },
946
+  { MODKEY,             XK_F13,     spawn,		SHCMD("cpSecPass 10") },
947
+
948
+
949
+  // Scratch Pads:
950
+
951
+	{ MODKEY,		XK_s,	 togglescratch, {.ui = 0 } },
952
+	{ ALTKEY,		XK_Return,  togglescratch, {.ui = 1 } },
953
+	{ MODKEY,		XK_backslash,	togglescratch, {.ui = 3 } },
954
+	{ MODKEY|ShiftMask,		XK_backslash,	togglescratch, {.ui = 4 } },
955
+	{ MODKEY|ControlMask, XK_period,  spawn, SHCMD(TERMINAL " -e job") },
956
+  { MODKEY,   XK_Escape,    spawn, SHCMD("startJustine") },
957
+	{ MODKEY,   XK_slash,	    spawn, SHCMD("startJustineSilent") },
958
+
959
+
960
+
961
+
962
+  { MODKEY,         			XK_0,		view,		{.ui = ~0 } },
963
+	{ MODKEY|ShiftMask,		XK_0,		tag,		{.ui = ~0 } },
964
+	{ MODKEY,         			XK_minus,	spawn,		SHCMD("pamixer --allow-boost -d 5; kill -44 $(pidof dwmblocks)") },
965
+//	{ MODKEY|ShiftMask,		XK_minus,	spawn,		SHCMD("pamixer --allow-boost -d 15; kill -44 $(pidof dwmblocks)") },
966
+ // { MODKEY,         			XK_equal,	spawn,		SHCMD("pamixer --allow-boost -i 5; kill -44 $(pidof dwmblocks)") },
967
+	{ MODKEY|ShiftMask,		XK_equal,	spawn,		SHCMD("pamixer --allow-boost -i 15; kill -44 $(pidof dwmblocks)") },
968
+	{ MODKEY,         			XK_BackSpace,	spawn,		SHCMD("sysact") },
969
+	{ MODKEY|ShiftMask,		XK_BackSpace,	spawn,		SHCMD("sysact") },
970
+
971
+
972
+/*  { MODKEY|ShiftMask,        XK_a, scratchpad_show, {0} },
973
+	{ MODKEY|ShiftMask,        XK_s, scratchpad_hide, {0} },
974
+	{ MODKEY|ShiftMask|ALTKEY, XK_equal,scratchpad_remove,{0} },
975
+  */
976
+	{ MODKEY,         			XK_Tab,		view,		{0} },
977
+	/* { MODKEY|ShiftMask,		XK_Tab,		spawn,		SHCMD("") }, */
978
+	{ MODKEY,         			XK_q,		killclient,	{0} },
979
+	{ MODKEY|ShiftMask,		XK_q,		spawn,		SHCMD("sysact") },
980
+	{ MODKEY,         			XK_w,		spawn,		SHCMD("$BROWSER") },
981
+	{ MODKEY|ShiftMask,	XK_w,		spawn,		SHCMD("$BROWSER2") },
982
+  { MODKEY,                	XK_c,		spawn,		SHCMD("clipdl") },
983
+  { MODKEY|ShiftMask,       XK_c,		spawn,		SHCMD(TERMINAL2 " -e tdap") },
984
+  { CTRLKEY|ShiftMask,     XK_c,		spawn,		SHCMD("xdotool type '[email protected]'") },
985
+
986
+/*	{ MODKEYask,		XK_w,		spawn,		SHCMD(TERMINAL " -e sudo nmtui") }, */
987
+	{ MODKEY,         		XK_e,		spawn,		SHCMD(TERMINAL " -e neomutt ; pkill -RTMIN+12 dwmblocks; rmdir ~/.abook") },
988
+	{ MODKEY|ShiftMask,		XK_e,		spawn,		SHCMD("rofi -modi emoji -show emoji") },
989
+	{ MODKEY,         		XK_r,		spawn,		SHCMD(TERMINAL " -e gifcast -w -o ~/Media/SCREEN-REC/`dt - -t :`.mp4") },
990
+	{ MODKEY|ShiftMask,		XK_r,		spawn,		SHCMD(TERMINAL " -e htop") },
991
+	{ ALTKEY,         		XK_y,	  spawn,     SHCMD("youtube-music") },
992
+	{ MODKEY,         		XK_t,		setlayout,	{.v = &layouts[0]} }, /* tile */
993
+	{ MODKEY,		          XK_i,		setlayout,	{.v = &layouts[3]} }, /* dwindle */
994
+	{ MODKEY,         		XK_u,		setlayout,	{.v = &layouts[2]} }, /* deck */
995
+	{ MODKEY,         		XK_y,		setlayout,	{.v = &layouts[0]} }, /* centeredmaster */
996
+	{ MODKEY,         		XK_o,		setlayout,  {.v = &layouts[4]} },
997
+	{ MODKEY|ShiftMask,		XK_u,		setlayout,	{.v = &layouts[5]} }, /* monocle */
998
+	{ MODKEY|ShiftMask,		XK_i,		setlayout,	{.v = &layouts[7]} }, /* centeredfloatingmaster */
999
+	{ MODKEY|ShiftMask,		XK_t,		setlayout,	{.v = &layouts[1]} }, /* bstack */