|
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 |