Xinqi Bao's Git

replaced Nmacros with LENGTH(x) macro
[dwm.git] / config.def.h
1 /* See LICENSE file for copyright and license details. */
2
3 /* appearance */
4 #define BARPOS BarTop /* BarBot, BarOff */
5 #define BORDERPX 1
6 #define FONT "-*-terminus-medium-*-*-*-*-*-*-*-*-*-*-*"
7 #define NORMBORDERCOLOR "#cccccc"
8 #define NORMBGCOLOR "#cccccc"
9 #define NORMFGCOLOR "#000000"
10 #define SELBORDERCOLOR "#0066ff"
11 #define SELBGCOLOR "#0066ff"
12 #define SELFGCOLOR "#ffffff"
13
14 /* convenience */
15 #define LENGTH(x) (sizeof x / sizeof x[0])
16
17 /* tagging */
18 const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "www" };
19 Bool seltags[LENGTH(tags)] = {[0] = True};
20 Bool prevtags[LENGTH(tags)] = {[0] = True};
21 Rule rules[] = {
22 /* class:instance:title regex tags regex isfloating */
23 { "Firefox", "www", False },
24 { "Gimp", NULL, True },
25 { "MPlayer", NULL, True },
26 { "Acroread", NULL, True },
27 };
28
29 /* layout(s) */
30 #define MWFACT 0.6 /* master width factor [0.1 .. 0.9] */
31 #define SNAP 32 /* snap pixel */
32 Layout layouts[] = {
33 /* symbol function */
34 { "[]=", tile }, /* first entry is default */
35 { "><>", floating },
36 };
37
38 /* key definitions */
39 #define MODKEY Mod1Mask
40 #define KEYS \
41 Key keys[] = { \
42 /* modifier key function argument */ \
43 { MODKEY, XK_p, spawn, \
44 "exe=`dmenu_path | dmenu -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"'" \
45 " -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'` && exec $exe" }, \
46 { MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" }, \
47 { MODKEY, XK_space, setlayout, NULL }, \
48 { MODKEY, XK_b, togglebar, NULL }, \
49 { MODKEY, XK_j, focusnext, NULL }, \
50 { MODKEY, XK_k, focusprev, NULL }, \
51 { MODKEY, XK_h, setmwfact, "-0.05" }, \
52 { MODKEY, XK_l, setmwfact, "+0.05" }, \
53 { MODKEY, XK_m, togglemax, NULL }, \
54 { MODKEY, XK_Return, zoom, NULL }, \
55 { MODKEY, XK_Tab, viewprevtag, NULL }, \
56 { MODKEY|ShiftMask, XK_space, togglefloating, NULL }, \
57 { MODKEY|ShiftMask, XK_c, killclient, NULL }, \
58 { MODKEY, XK_0, view, NULL }, \
59 { MODKEY, XK_1, view, tags[0] }, \
60 { MODKEY, XK_2, view, tags[1] }, \
61 { MODKEY, XK_3, view, tags[2] }, \
62 { MODKEY, XK_4, view, tags[3] }, \
63 { MODKEY, XK_5, view, tags[4] }, \
64 { MODKEY, XK_6, view, tags[5] }, \
65 { MODKEY, XK_7, view, tags[6] }, \
66 { MODKEY, XK_8, view, tags[7] }, \
67 { MODKEY, XK_9, view, tags[8] }, \
68 { MODKEY|ControlMask, XK_1, toggleview, tags[0] }, \
69 { MODKEY|ControlMask, XK_2, toggleview, tags[1] }, \
70 { MODKEY|ControlMask, XK_3, toggleview, tags[2] }, \
71 { MODKEY|ControlMask, XK_4, toggleview, tags[3] }, \
72 { MODKEY|ControlMask, XK_5, toggleview, tags[4] }, \
73 { MODKEY|ControlMask, XK_6, toggleview, tags[5] }, \
74 { MODKEY|ControlMask, XK_7, toggleview, tags[6] }, \
75 { MODKEY|ControlMask, XK_8, toggleview, tags[7] }, \
76 { MODKEY|ControlMask, XK_9, toggleview, tags[8] }, \
77 { MODKEY|ShiftMask, XK_0, tag, NULL }, \
78 { MODKEY|ShiftMask, XK_1, tag, tags[0] }, \
79 { MODKEY|ShiftMask, XK_2, tag, tags[1] }, \
80 { MODKEY|ShiftMask, XK_3, tag, tags[2] }, \
81 { MODKEY|ShiftMask, XK_4, tag, tags[3] }, \
82 { MODKEY|ShiftMask, XK_5, tag, tags[4] }, \
83 { MODKEY|ShiftMask, XK_6, tag, tags[5] }, \
84 { MODKEY|ShiftMask, XK_7, tag, tags[6] }, \
85 { MODKEY|ShiftMask, XK_8, tag, tags[7] }, \
86 { MODKEY|ShiftMask, XK_9, tag, tags[8] }, \
87 { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] }, \
88 { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] }, \
89 { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] }, \
90 { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] }, \
91 { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] }, \
92 { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] }, \
93 { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] }, \
94 { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] }, \
95 { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] }, \
96 { MODKEY|ShiftMask, XK_q, quit, NULL }, \
97 };