1 /* See LICENSE file for copyright and license details. */ |
|
2 |
|
3 /* appearance */ |
|
4 #define BORDERPX 1 |
|
5 #define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*" |
|
6 #define NORMBORDERCOLOR "#cccccc" |
|
7 #define NORMBGCOLOR "#cccccc" |
|
8 #define NORMFGCOLOR "#000000" |
|
9 #define SELBORDERCOLOR "#0066ff" |
|
10 #define SELBGCOLOR "#0066ff" |
|
11 #define SELFGCOLOR "#ffffff" |
|
12 |
|
13 /* tagging */ |
|
14 const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; |
|
15 |
|
16 Rule rules[] = { |
|
17 /* class instance title tags ref isfloating */ |
|
18 { NULL, NULL, "Firefox", tags[8], False }, |
|
19 { NULL, NULL, "Gimp", NULL, True }, |
|
20 { NULL, NULL, "MPlayer", NULL, True }, |
|
21 { NULL, NULL, "Acroread", NULL, True }, |
|
22 }; |
|
23 |
|
24 /* geometry function */ |
|
25 void (*setgeoms)(void) = setdefgeoms; |
|
26 |
|
27 void |
|
28 setanselmgeoms(void) { |
|
29 |
|
30 /* screen dimensions */ |
|
31 sx = 0; |
|
32 sy = 0; |
|
33 sw = DisplayWidth(dpy, screen); |
|
34 sh = DisplayHeight(dpy, screen); |
|
35 |
|
36 /* bar position */ |
|
37 bx = sx; |
|
38 by = sy; |
|
39 bw = 1280; |
|
40 bh = dc.font.height + 2; |
|
41 |
|
42 /* window area */ |
|
43 wx = sx; |
|
44 wy = sy + bh; |
|
45 ww = sw; |
|
46 wh = sh - bh; |
|
47 |
|
48 /* master area */ |
|
49 mx = wx; |
|
50 my = wy; |
|
51 mw = 1280; |
|
52 mh = 800 - bh; |
|
53 |
|
54 /* tile area */ |
|
55 tx = 1280; |
|
56 ty = 0; |
|
57 tw = sw - 1280; |
|
58 th = sh; |
|
59 |
|
60 /* monocle area */ |
|
61 mox = mx; |
|
62 moy = my; |
|
63 mow = mw; |
|
64 moh = mh; |
|
65 } |
|
66 |
|
67 void |
|
68 anselmgeoms(const char *arg) { |
|
69 setgeoms = setanselmgeoms; |
|
70 setgeoms(); |
|
71 updatebarpos(); |
|
72 setlayout("[]|"); |
|
73 } |
|
74 |
|
75 void |
|
76 defgeoms(const char *arg) { |
|
77 setgeoms = setdefgeoms; |
|
78 setgeoms(); |
|
79 updatebarpos(); |
|
80 setlayout("[]="); |
|
81 } |
|
82 |
|
83 /* layout(s) */ |
|
84 #define RESIZEHINTS True /* False - respect size hints in tiled resizals */ |
|
85 #define SNAP 32 /* snap pixel */ |
|
86 |
|
87 Layout layouts[] = { |
|
88 /* symbol function isfloating */ |
|
89 { "[]|", tileh, False }, /* first entry is default */ |
|
90 { "[]=", tilev, False }, |
|
91 { "><>", floating, True }, |
|
92 { "[M]", monocle, True }, |
|
93 }; |
|
94 |
|
95 /* key definitions */ |
|
96 #define MODKEY Mod1Mask |
|
97 Key keys[] = { |
|
98 /* modifier key function argument */ |
|
99 { MODKEY, XK_p, spawn, |
|
100 "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"' -x 0 -y 0 -w 1280" }, |
|
101 { MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" }, |
|
102 { MODKEY, XK_a, anselmgeoms, NULL }, |
|
103 { MODKEY, XK_d, defgeoms, NULL }, |
|
104 { MODKEY, XK_j, focusnext, NULL }, |
|
105 { MODKEY, XK_k, focusprev, NULL }, |
|
106 { MODKEY, XK_r, reapply, NULL }, |
|
107 { MODKEY, XK_Return, zoom, NULL }, |
|
108 { MODKEY, XK_Tab, viewprevtag, NULL }, |
|
109 { MODKEY, XK_m, setlayout, "[M]" }, |
|
110 { MODKEY, XK_f, setlayout, "><>" }, |
|
111 { MODKEY, XK_v, setlayout, "[]=" }, |
|
112 { MODKEY, XK_h, setlayout, "[]|" }, |
|
113 { MODKEY|ShiftMask, XK_space, togglefloating, NULL }, |
|
114 { MODKEY|ShiftMask, XK_c, killclient, NULL }, |
|
115 { MODKEY, XK_0, view, NULL }, |
|
116 { MODKEY, XK_1, view, tags[0] }, |
|
117 { MODKEY, XK_2, view, tags[1] }, |
|
118 { MODKEY, XK_3, view, tags[2] }, |
|
119 { MODKEY, XK_4, view, tags[3] }, |
|
120 { MODKEY, XK_5, view, tags[4] }, |
|
121 { MODKEY, XK_6, view, tags[5] }, |
|
122 { MODKEY, XK_7, view, tags[6] }, |
|
123 { MODKEY, XK_8, view, tags[7] }, |
|
124 { MODKEY, XK_9, view, tags[8] }, |
|
125 { MODKEY|ControlMask, XK_1, toggleview, tags[0] }, |
|
126 { MODKEY|ControlMask, XK_2, toggleview, tags[1] }, |
|
127 { MODKEY|ControlMask, XK_3, toggleview, tags[2] }, |
|
128 { MODKEY|ControlMask, XK_4, toggleview, tags[3] }, |
|
129 { MODKEY|ControlMask, XK_5, toggleview, tags[4] }, |
|
130 { MODKEY|ControlMask, XK_6, toggleview, tags[5] }, |
|
131 { MODKEY|ControlMask, XK_7, toggleview, tags[6] }, |
|
132 { MODKEY|ControlMask, XK_8, toggleview, tags[7] }, |
|
133 { MODKEY|ControlMask, XK_9, toggleview, tags[8] }, |
|
134 { MODKEY|ShiftMask, XK_0, tag, NULL }, |
|
135 { MODKEY|ShiftMask, XK_1, tag, tags[0] }, |
|
136 { MODKEY|ShiftMask, XK_2, tag, tags[1] }, |
|
137 { MODKEY|ShiftMask, XK_3, tag, tags[2] }, |
|
138 { MODKEY|ShiftMask, XK_4, tag, tags[3] }, |
|
139 { MODKEY|ShiftMask, XK_5, tag, tags[4] }, |
|
140 { MODKEY|ShiftMask, XK_6, tag, tags[5] }, |
|
141 { MODKEY|ShiftMask, XK_7, tag, tags[6] }, |
|
142 { MODKEY|ShiftMask, XK_8, tag, tags[7] }, |
|
143 { MODKEY|ShiftMask, XK_9, tag, tags[8] }, |
|
144 { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] }, |
|
145 { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] }, |
|
146 { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] }, |
|
147 { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] }, |
|
148 { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] }, |
|
149 { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] }, |
|
150 { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] }, |
|
151 { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] }, |
|
152 { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] }, |
|
153 { MODKEY|ShiftMask, XK_q, quit, NULL }, |
|
154 }; |
|