JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
centralized/externalized configuration to config.h
[dwm.git] / config.arg.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                    "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*"
7 #define BGCOLOR                 "#0a2c2d"
8 #define FGCOLOR                 "#ddeeee"
9 #define BORDERCOLOR             "#176164"
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 *browse[] = { "firefox", NULL }; \
29         const char *gimp[] = { "gimp", NULL }; \
30         const char *term[] = { \
31                 "urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", \
32                 "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL \
33         }; \
34         const char *xlock[] = { "xlock", NULL };
35
36 #define KEYS \
37 static Key key[] = { \
38         /* modifier             key             function        arguments */ \
39         { MODKEY,               XK_0,           view,           { .i = Tfnord } }, \
40         { MODKEY,               XK_1,           view,           { .i = Tdev } }, \
41         { MODKEY,               XK_2,           view,           { .i = Tnet } }, \
42         { MODKEY,               XK_3,           view,           { .i = Twork } }, \
43         { MODKEY,               XK_4,           view,           { .i = Tmisc} }, \
44         { MODKEY,               XK_h,           viewprev,       { 0 } }, \
45         { MODKEY,               XK_j,           focusnext,      { 0 } }, \
46         { MODKEY,               XK_k,           focusprev,      { 0 } }, \
47         { MODKEY,               XK_l,           viewnext,       { 0 } }, \
48         { MODKEY,               XK_m,           togglemax,      { 0 } }, \
49         { MODKEY,               XK_space,       togglemode,     { 0 } }, \
50         { MODKEY,               XK_Return,      zoom,           { 0 } }, \
51         { MODKEY|ControlMask,   XK_0,           appendtag,      { .i = Tfnord } }, \
52         { MODKEY|ControlMask,   XK_1,           appendtag,      { .i = Tdev } }, \
53         { MODKEY|ControlMask,   XK_2,           appendtag,      { .i = Tnet } }, \
54         { MODKEY|ControlMask,   XK_3,           appendtag,      { .i = Twork } }, \
55         { MODKEY|ControlMask,   XK_4,           appendtag,      { .i = Tmisc } }, \
56         { MODKEY|ShiftMask,     XK_0,           replacetag,     { .i = Tfnord } }, \
57         { MODKEY|ShiftMask,     XK_1,           replacetag,     { .i = Tdev } }, \
58         { MODKEY|ShiftMask,     XK_2,           replacetag,     { .i = Tnet } }, \
59         { MODKEY|ShiftMask,     XK_3,           replacetag,     { .i = Twork } }, \
60         { MODKEY|ShiftMask,     XK_4,           replacetag,     { .i = Tmisc } }, \
61         { MODKEY|ShiftMask,     XK_c,           killclient,     { 0 } }, \
62         { MODKEY|ShiftMask,     XK_q,           quit,           { 0 } }, \
63         { MODKEY|ShiftMask,     XK_Return,      spawn,          { .argv = term } }, \
64         { MODKEY|ShiftMask,     XK_g,           spawn,          { .argv = gimp } }, \
65         { MODKEY|ShiftMask,     XK_l,           spawn,          { .argv = xlock } }, \
66         { MODKEY|ShiftMask,     XK_w,           spawn,          { .argv = browse } }, \
67 };
68
69 #define RULES \
70 static Rule rule[] = { \
71         /* class:instance       tags                            isfloat */ \
72         { "Firefox.*",          { [Tnet] = "net" },             False }, \
73         { "Gimp.*",             { 0 },                          True}, \
74 };
75
76 #define ARRANGE dotile