X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/8cc7f3bace087dfb024a23115c211d82b35614ae..986ca73074ef165880c75ee46a4eb6a1b328dc5b:/config.arg.h

diff --git a/config.arg.h b/config.arg.h
index a3d312c..3cb4158 100644
--- a/config.arg.h
+++ b/config.arg.h
@@ -1,73 +1,100 @@
-/*
- * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
+/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
  * See LICENSE file for license details.
  */
 
-enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };
+/* appearance */
+#define BORDERPX		1
+#define FONT			"-*-proggyclean-medium-r-*-*-13-*-*-*-*-*-*-*"
+#define NORMBORDERCOLOR		"#333"
+#define NORMBGCOLOR		"#222"
+#define NORMFGCOLOR		"#ccc"
+#define SELBORDERCOLOR		"#8c8"
+#define SELBGCOLOR		"#555"
+#define SELFGCOLOR		"#fff"
+#define TOPBAR			True		/* False */
+
+/* behavior */
 #define TAGS \
-const char *tags[TLast] = { \
-	[Tfnord] = "fnord", \
-	[Tdev] = "dev", \
-	[Tnet] = "net", \
-	[Twork] = "work", \
-	[Tmisc] = "misc", \
+const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", NULL };
+#define RULES \
+static Rule rule[] = { \
+	/* class:instance:title regex	tags regex	isversatile */ \
+	{ "Firefox",			"3",		False }, \
+	{ "Gimp",			NULL,		True }, \
+	{ "MPlayer",			NULL,		True }, \
+	{ "Acroread",			NULL,		True }, \
 };
 
-#define DEFMODE			dotile /* dofloat */
-#define DEFTAG			Tdev
-#define FONT			"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*"
-#define BGCOLOR			"#0a2c2d"
-#define FGCOLOR			"#ddeeee"
-#define BORDERCOLOR		"#176164"
-#define MODKEY			Mod1Mask
-#define NUMLOCKMASK		Mod2Mask
-#define MASTERW			60 /* percent */
+/* layout(s) */
+#define LAYOUTS \
+static Layout layout[] = { \
+	/* symbol		function */ \
+	{ "[]=",		tile }, /* first entry is default */ \
+	{ "><>",		versatile }, \
+};
+#define MASTERWIDTH		600		/* master width per thousand */
+#define NMASTER			1		/* clients in master area */
+#define SNAP			40		/* versatile snap pixel */
 
+/* key definitions */
+#define MODKEY			Mod1Mask
 #define KEYS \
-	const char *browse[] = { "firefox", NULL }; \
-	const char *gimp[] = { "gimp", NULL }; \
-	const char *term[] = { \
-		"urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", \
-		"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL \
-	}; \
-	const char *xlock[] = { "xlock", NULL }; \
 static Key key[] = { \
-	/* modifier		key		function	arguments */ \
-	{ MODKEY,		XK_0,		view,		{ .i = Tfnord } }, \
-	{ MODKEY,		XK_1,		view,		{ .i = Tdev } }, \
-	{ MODKEY,		XK_2,		view,		{ .i = Tnet } }, \
-	{ MODKEY,		XK_3,		view,		{ .i = Twork } }, \
-	{ MODKEY,		XK_4,		view,		{ .i = Tmisc} }, \
-	{ MODKEY,		XK_h,		viewprev,	{ 0 } }, \
-	{ MODKEY,		XK_j,		focusnext,	{ 0 } }, \
-	{ MODKEY,		XK_k,		focusprev,	{ 0 } }, \
-	{ MODKEY,		XK_l,		viewnext,	{ 0 } }, \
-	{ MODKEY,		XK_m,		togglemax,	{ 0 } }, \
-	{ MODKEY,		XK_space,	togglemode,	{ 0 } }, \
-	{ MODKEY,		XK_Return,	zoom,		{ 0 } }, \
-	{ MODKEY|ControlMask,	XK_0,		appendtag,	{ .i = Tfnord } }, \
-	{ MODKEY|ControlMask,	XK_1,		appendtag,	{ .i = Tdev } }, \
-	{ MODKEY|ControlMask,	XK_2,		appendtag,	{ .i = Tnet } }, \
-	{ MODKEY|ControlMask,	XK_3,		appendtag,	{ .i = Twork } }, \
-	{ MODKEY|ControlMask,	XK_4,		appendtag,	{ .i = Tmisc } }, \
-	{ MODKEY|ShiftMask,	XK_0,		replacetag,	{ .i = Tfnord } }, \
-	{ MODKEY|ShiftMask,	XK_1,		replacetag,	{ .i = Tdev } }, \
-	{ MODKEY|ShiftMask,	XK_2,		replacetag,	{ .i = Tnet } }, \
-	{ MODKEY|ShiftMask,	XK_3,		replacetag,	{ .i = Twork } }, \
-	{ MODKEY|ShiftMask,	XK_4,		replacetag,	{ .i = Tmisc } }, \
-	{ MODKEY|ShiftMask,	XK_c,		killclient,	{ 0 } }, \
-	{ MODKEY|ShiftMask,	XK_q,		quit,		{ 0 } }, \
-	{ MODKEY|ShiftMask,	XK_Return,	spawn,		{ .argv = term } }, \
-	{ MODKEY|ShiftMask,	XK_g,		spawn,		{ .argv = gimp } }, \
-	{ MODKEY|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } }, \
-	{ MODKEY|ShiftMask,	XK_w,		spawn,		{ .argv = browse } }, \
-};
-
-#define RULES \
-static Rule rule[] = { \
-	/* class:instance	tags				isfloat */ \
-	{ "Firefox.*",		{ [Tnet] = True },		False }, \
-	{ "Gimp.*",		{ 0 },				True}, \
-	{ "MPlayer.*",		{ 0 },				True}, \
-	{ "Acroread.*",		{ 0 },				True}, \
+	/* modifier			key		function	argument */ \
+	{ MODKEY,			XK_p,		spawn, \
+		{ .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u " \
+			" | dmenu -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' " \
+			"-sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"')\" && exec $exe" } }, \
+	{ MODKEY|ShiftMask,		XK_Return,	spawn, \
+		{ .cmd = "exec urxvtcd -tr -bg '#292929' -fg '#eee' -cr '#eee' +sb -fn '"FONT"'" } }, \
+	{ MODKEY,			XK_space,	setlayout,	{ .i = -1 } }, \
+	{ MODKEY,			XK_d,		incnmaster,	{ .i = -1 } }, \
+	{ MODKEY,			XK_i,		incnmaster,	{ .i = 1 } }, \
+	{ MODKEY,			XK_h,		incmasterw,	{ .i = -15 } }, \
+	{ MODKEY,			XK_l,		incmasterw,	{ .i = 15 } }, \
+	{ MODKEY,			XK_j,		focusnext,	{ 0 } }, \
+	{ MODKEY,			XK_k,		focusprev,	{ 0 } }, \
+	{ MODKEY,			XK_m,		togglemax,	{ 0 } }, \
+	{ MODKEY,			XK_Return,	zoom,		{ 0 } }, \
+	{ MODKEY|ShiftMask,		XK_space,	toggleversatile,{ 0 } }, \
+	{ MODKEY|ShiftMask,		XK_c,		killclient,	{ 0 } }, \
+	{ MODKEY,			XK_0,		view,		{ .i = -1 } }, \
+	{ MODKEY,			XK_1,		view,		{ .i = 0 } }, \
+	{ MODKEY,			XK_2,		view,		{ .i = 1 } }, \
+	{ MODKEY,			XK_3,		view,		{ .i = 2 } }, \
+	{ MODKEY,			XK_4,		view,		{ .i = 3 } }, \
+	{ MODKEY,			XK_5,		view,		{ .i = 4 } }, \
+	{ MODKEY,			XK_6,		view,		{ .i = 5 } }, \
+	{ MODKEY,			XK_7,		view,		{ .i = 6 } }, \
+	{ MODKEY,			XK_8,		view,		{ .i = 7 } }, \
+	{ MODKEY,			XK_9,		view,		{ .i = 8 } }, \
+	{ MODKEY|ControlMask,		XK_1,		toggleview,	{ .i = 0 } }, \
+	{ MODKEY|ControlMask,		XK_2,		toggleview,	{ .i = 1 } }, \
+	{ MODKEY|ControlMask,		XK_3,		toggleview,	{ .i = 2 } }, \
+	{ MODKEY|ControlMask,		XK_4,		toggleview,	{ .i = 3 } }, \
+	{ MODKEY|ControlMask,		XK_5,		toggleview,	{ .i = 4 } }, \
+	{ MODKEY|ControlMask,		XK_6,		toggleview,	{ .i = 5 } }, \
+	{ MODKEY|ControlMask,		XK_7,		toggleview,	{ .i = 6 } }, \
+	{ MODKEY|ControlMask,		XK_8,		toggleview,	{ .i = 7 } }, \
+	{ MODKEY|ControlMask,		XK_9,		toggleview,	{ .i = 8 } }, \
+	{ MODKEY|ShiftMask,		XK_0,		tag,		{ .i = -1 } }, \
+	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 0 } }, \
+	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 1 } }, \
+	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 2 } }, \
+	{ MODKEY|ShiftMask,		XK_4,		tag,		{ .i = 3 } }, \
+	{ MODKEY|ShiftMask,		XK_5,		tag,		{ .i = 4 } }, \
+	{ MODKEY|ShiftMask,		XK_6,		tag,		{ .i = 5 } }, \
+	{ MODKEY|ShiftMask,		XK_7,		tag,		{ .i = 6 } }, \
+	{ MODKEY|ShiftMask,		XK_8,		tag,		{ .i = 7 } }, \
+	{ MODKEY|ShiftMask,		XK_9,		tag,		{ .i = 8 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_1,		toggletag,	{ .i = 0 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_2,		toggletag,	{ .i = 1 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_3,		toggletag,	{ .i = 2 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_4,		toggletag,	{ .i = 3 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_5,		toggletag,	{ .i = 4 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_6,		toggletag,	{ .i = 5 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_7,		toggletag,	{ .i = 6 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_8,		toggletag,	{ .i = 7 } }, \
+	{ MODKEY|ControlMask|ShiftMask,	XK_9,		toggletag,	{ .i = 8 } }, \
+	{ MODKEY|ShiftMask,		XK_q,		quit,		{ 0 } }, \
 };