JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
centralized/externalized configuration to config.h
[dwm.git] / config.h
1 /*
2  * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
3  * See LICENSE file for license details.
4  */
5
6 #define FONT                    "fixed"
7 #define BGCOLOR                 "#666699"
8 #define FGCOLOR                 "#eeeeee"
9 #define BORDERCOLOR             "#9999CC"
10 #define MODKEY                  Mod1Mask
11 #define NUMLOCKMASK             Mod2Mask
12 #define MASTERW                 52 /* percent */
13 #define WM_PROTOCOL_DELWIN      1
14
15 enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };
16 #define TAGS \
17 char *tags[TLast] = { \
18         [Tfnord] = "fnord", \
19         [Tdev] = "dev", \
20         [Tnet] = "net", \
21         [Twork] = "work", \
22         [Tmisc] = "misc", \
23 };
24 #define DEFTAG Tdev
25
26
27 #define CMDS \
28         const char *term[] = { "xterm", NULL };
29
30 #define KEYS \
31 static Key key[] = { \
32         /* modifier             key             function        arguments */ \
33         { MODKEY,               XK_0,           view,           { .i = Tfnord } }, \
34         { MODKEY,               XK_1,           view,           { .i = Tdev } }, \
35         { MODKEY,               XK_2,           view,           { .i = Tnet } }, \
36         { MODKEY,               XK_3,           view,           { .i = Twork } }, \
37         { MODKEY,               XK_4,           view,           { .i = Tmisc} }, \
38         { MODKEY,               XK_h,           viewprev,       { 0 } }, \
39         { MODKEY,               XK_j,           focusnext,      { 0 } }, \
40         { MODKEY,               XK_k,           focusprev,      { 0 } }, \
41         { MODKEY,               XK_l,           viewnext,       { 0 } }, \
42         { MODKEY,               XK_m,           togglemax,      { 0 } }, \
43         { MODKEY,               XK_space,       togglemode,     { 0 } }, \
44         { MODKEY,               XK_Return,      zoom,           { 0 } }, \
45         { MODKEY|ControlMask,   XK_0,           appendtag,      { .i = Tfnord } }, \
46         { MODKEY|ControlMask,   XK_1,           appendtag,      { .i = Tdev } }, \
47         { MODKEY|ControlMask,   XK_2,           appendtag,      { .i = Tnet } }, \
48         { MODKEY|ControlMask,   XK_3,           appendtag,      { .i = Twork } }, \
49         { MODKEY|ControlMask,   XK_4,           appendtag,      { .i = Tmisc } }, \
50         { MODKEY|ShiftMask,     XK_0,           replacetag,     { .i = Tfnord } }, \
51         { MODKEY|ShiftMask,     XK_1,           replacetag,     { .i = Tdev } }, \
52         { MODKEY|ShiftMask,     XK_2,           replacetag,     { .i = Tnet } }, \
53         { MODKEY|ShiftMask,     XK_3,           replacetag,     { .i = Twork } }, \
54         { MODKEY|ShiftMask,     XK_4,           replacetag,     { .i = Tmisc } }, \
55         { MODKEY|ShiftMask,     XK_c,           killclient,     { 0 } }, \
56         { MODKEY|ShiftMask,     XK_q,           quit,           { 0 } }, \
57         { MODKEY|ShiftMask,     XK_Return,      spawn,          { .argv = term } }, \
58 };
59
60 #define RULES \
61 static Rule rule[] = { \
62         /* class:instance       tags                            isfloat */ \
63         { "Firefox.*",          { [Tnet] = "net" },             False }, \
64         { "Gimp.*",             { 0 },                          True}, \
65 };
66
67 #define ARRANGE dotile