1 /* See LICENSE file for copyright and license details. */ |
1 /* See LICENSE file for copyright and license details. */ |
2 |
2 |
3 /* appearance */ |
3 /* appearance */ |
4 #define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*" |
4 static const char font[] = "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*"; |
5 #define NORMBORDERCOLOR "#cccccc" |
5 static const char normbordercolor[] = "#cccccc"; |
6 #define NORMBGCOLOR "#cccccc" |
6 static const char normbgcolor[] = "#cccccc"; |
7 #define NORMFGCOLOR "#000000" |
7 static const char normfgcolor[] = "#000000"; |
8 #define SELBORDERCOLOR "#0066ff" |
8 static const char selbordercolor[] = "#0066ff"; |
9 #define SELBGCOLOR "#0066ff" |
9 static const char selbgcolor[] = "#0066ff"; |
10 #define SELFGCOLOR "#ffffff" |
10 static const char selfgcolor[] = "#ffffff"; |
11 static uint borderpx = 1; /* border pixel of windows */ |
11 static uint borderpx = 1; /* border pixel of windows */ |
12 static uint snap = 32; /* snap pixel */ |
12 static uint snap = 32; /* snap pixel */ |
13 static Bool showbar = True; /* False means no bar */ |
13 static Bool showbar = True; /* False means no bar */ |
14 static Bool topbar = True; /* False means bottom bar */ |
14 static Bool topbar = True; /* False means bottom bar */ |
15 |
15 |
16 #ifdef XINERAMA |
16 #ifdef XINERAMA |
17 static uint xidx = 0; /* Xinerama screen index to use */ |
17 static uint xidx = 0; /* Xinerama screen index to use */ |
18 #endif |
18 #endif |
19 |
19 |
20 /* tagging */ |
20 /* tagging */ |
21 static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; |
21 static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; |
22 |
22 |
43 { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ |
43 { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ |
44 { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ |
44 { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ |
45 { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, |
45 { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, |
46 |
46 |
47 /* helper for spawning shell commands in the pre dwm-5.0 fashion */ |
47 /* helper for spawning shell commands in the pre dwm-5.0 fashion */ |
48 #define SHCMD(cmd) { .v = (char*[]){ "/bin/sh", "-c", cmd, NULL } } |
48 #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } |
|
49 |
|
50 /* commands */ |
|
51 static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL }; |
|
52 static const char *termcmd[] = { "uxterm", NULL }; |
49 |
53 |
50 static Key keys[] = { |
54 static Key keys[] = { |
51 /* modifier key function argument */ |
55 /* modifier key function argument */ |
52 { MODKEY, XK_p, spawn, {.v = (char *[]){"dmenu_run", "-fn", FONT, "-nb", NORMBGCOLOR, "-nf", NORMFGCOLOR, "-sb", SELBGCOLOR, "-sf", SELFGCOLOR, NULL}} }, |
56 { MODKEY, XK_p, spawn, {.v = dmenucmd } }, |
53 { MODKEY|ShiftMask, XK_Return, spawn, {.v = (char *[]){"uxterm", NULL}} }, |
57 { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, |
54 { MODKEY, XK_b, togglebar, {0} }, |
58 { MODKEY, XK_b, togglebar, {0} }, |
55 { MODKEY, XK_j, focusstack, {.i = +1 } }, |
59 { MODKEY, XK_j, focusstack, {.i = +1 } }, |
56 { MODKEY, XK_k, focusstack, {.i = -1 } }, |
60 { MODKEY, XK_k, focusstack, {.i = -1 } }, |
57 { MODKEY, XK_h, setmfact, {.f = -0.05} }, |
61 { MODKEY, XK_h, setmfact, {.f = -0.05} }, |
58 { MODKEY, XK_l, setmfact, {.f = +0.05} }, |
62 { MODKEY, XK_l, setmfact, {.f = +0.05} }, |
87 * ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ |
91 * ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ |
88 static Button buttons[] = { |
92 static Button buttons[] = { |
89 /* click event mask button function argument */ |
93 /* click event mask button function argument */ |
90 { ClkLtSymbol, 0, Button1, togglelayout, {0} }, |
94 { ClkLtSymbol, 0, Button1, togglelayout, {0} }, |
91 { ClkLtSymbol, 0, Button3, togglemax, {0} }, |
95 { ClkLtSymbol, 0, Button3, togglemax, {0} }, |
92 { ClkWinTitle, 0, Button1, movemouse, {0} }, |
|
93 { ClkWinTitle, 0, Button2, zoom, {0} }, |
96 { ClkWinTitle, 0, Button2, zoom, {0} }, |
94 { ClkWinTitle, 0, Button3, resizemouse, {0} }, |
97 { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, |
95 { ClkWinTitle, 0, Button4, focusstack, {.i = +1 } }, |
98 { ClkWinTitle, 0, Button4, focusstack, {.i = +1 } }, |
96 { ClkWinTitle, 0, Button5, focusstack, {.i = -1 } }, |
99 { ClkWinTitle, 0, Button5, focusstack, {.i = -1 } }, |
97 { ClkClientWin, MODKEY, Button1, movemouse, {0} }, |
100 { ClkClientWin, MODKEY, Button1, movemouse, {0} }, |
98 { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, |
101 { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, |
99 { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, |
102 { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, |
100 { ClkRootWin, Button1Mask, Button3, spawn, {.v = (char *[]){"uxterm", NULL}} }, |
103 { ClkRootWin, Button1Mask, Button3, spawn, {.v = termcmd } }, |
101 TAGBUTTONS(0) |
104 TAGBUTTONS(0) |
102 TAGBUTTONS(1) |
105 TAGBUTTONS(1) |
103 TAGBUTTONS(2) |
106 TAGBUTTONS(2) |
104 TAGBUTTONS(3) |
107 TAGBUTTONS(3) |
105 TAGBUTTONS(4) |
108 TAGBUTTONS(4) |