-/*
- * (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 */
+
+/* tagging */
#define TAGS \
-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 isfloating */ \
+ { "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 52 /* percent */
+/* layout(s) */
+#define LAYOUTS \
+static Layout layout[] = { \
+ /* symbol function */ \
+ { "[]=", tile }, /* first entry is default */ \
+ { "><>", floating }, \
+};
+#define MASTERWIDTH 600 /* master width per thousand */
+#define NMASTER 1 /* clients in master area */
+#define SNAP 32 /* 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] = "net" }, False }, \
- { "Gimp.*", { 0 }, True}, \
- { "MPlayer.*", { 0 }, True}, \
- { "Acroread.*", { 0 }, True}, \
+ /* modifier key function argument */ \
+ { MODKEY, XK_p, spawn, \
+ "exe=`dmenu_path | dmenu -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"'" \
+ " -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'` && exec $exe" }, \
+ { MODKEY|ShiftMask, XK_Return, spawn, \
+ "exec urxvtcd -tr -bg '#222' -fg '#eee' -cr '#eee' +sb -fn '"FONT"'" }, \
+ { MODKEY, XK_space, setlayout, NULL }, \
+ { MODKEY, XK_h, incmasterw, "-32" }, \
+ { MODKEY, XK_l, incmasterw, "32" }, \
+ { MODKEY|ShiftMask, XK_j, incnmaster, "1" }, \
+ { MODKEY|ShiftMask, XK_k, incnmaster, "-1" }, \
+ { MODKEY, XK_j, focusclient, "1" }, \
+ { MODKEY, XK_k, focusclient, "-1" }, \
+ { MODKEY, XK_m, togglemax, NULL }, \
+ { MODKEY, XK_Return, zoom, NULL }, \
+ { MODKEY|ShiftMask, XK_space, togglefloating, NULL }, \
+ { MODKEY|ShiftMask, XK_c, killclient, NULL }, \
+ { MODKEY, XK_0, view, NULL }, \
+ { MODKEY, XK_1, view, "0" }, \
+ { MODKEY, XK_2, view, "1" }, \
+ { MODKEY, XK_3, view, "2" }, \
+ { MODKEY, XK_4, view, "3" }, \
+ { MODKEY, XK_5, view, "4" }, \
+ { MODKEY, XK_6, view, "5" }, \
+ { MODKEY, XK_7, view, "6" }, \
+ { MODKEY, XK_8, view, "7" }, \
+ { MODKEY, XK_9, view, "8" }, \
+ { MODKEY|ControlMask, XK_1, toggleview, "0" }, \
+ { MODKEY|ControlMask, XK_2, toggleview, "1" }, \
+ { MODKEY|ControlMask, XK_3, toggleview, "2" }, \
+ { MODKEY|ControlMask, XK_4, toggleview, "3" }, \
+ { MODKEY|ControlMask, XK_5, toggleview, "4" }, \
+ { MODKEY|ControlMask, XK_6, toggleview, "5" }, \
+ { MODKEY|ControlMask, XK_7, toggleview, "6" }, \
+ { MODKEY|ControlMask, XK_8, toggleview, "7" }, \
+ { MODKEY|ControlMask, XK_9, toggleview, "8" }, \
+ { MODKEY|ShiftMask, XK_0, tag, NULL }, \
+ { MODKEY|ShiftMask, XK_1, tag, "0" }, \
+ { MODKEY|ShiftMask, XK_2, tag, "1" }, \
+ { MODKEY|ShiftMask, XK_3, tag, "2" }, \
+ { MODKEY|ShiftMask, XK_4, tag, "3" }, \
+ { MODKEY|ShiftMask, XK_5, tag, "4" }, \
+ { MODKEY|ShiftMask, XK_6, tag, "5" }, \
+ { MODKEY|ShiftMask, XK_7, tag, "6" }, \
+ { MODKEY|ShiftMask, XK_8, tag, "7" }, \
+ { MODKEY|ShiftMask, XK_9, tag, "8" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, "0" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, "1" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, "2" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, "3" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, "4" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, "5" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, "6" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, "7" }, \
+ { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, "8" }, \
+ { MODKEY|ShiftMask, XK_q, quit, NULL }, \
};