Xinqi Bao's Git

implemented exact focus next, if arg != NULL to focus{next,prev}
[dwm.git] / config.def.h
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 { "Gimp", NULL, NULL, NULL, True },
19 };
20
21 /* geometries, s{x,y,w,h} and bh are already initualized here */
22 /* func name bx by bw wx wy ww wh mx my mw mh tx ty tw th mox moy mow moh */
23 #define MFACT 0.55 /* master width factor [0.1 .. 0.9] */
24 DEFGEOM(single, 0, 0, sw, 0, bh, sw, sh-bh, wx, wy, mfact*ww, wh, mx+mw, wy, ww-mw, wh, wx, wy, ww, wh)
25 DEFGEOM(dual, 0, 0,1280, 0, bh, ww, wh-bh, wx, wy, 1280,800-bh, 1280, 0, ww-mw, sh, mx, my, mw, mh)
26
27 Geom geoms[] = {
28 /* symbol function */
29 { "[]", single }, /* first entry is default */
30 { "[][]", dual },
31 };
32
33 /* layout(s) */
34 #define RESIZEHINTS True /* False - respect size hints in tiled resizals */
35 #define SNAP 32 /* snap pixel */
36
37 Layout layouts[] = {
38 /* symbol function isfloating */
39 { "[]=", tilev, False }, /* first entry is default */
40 { "<>=", tilev, True },
41 { "[]|", tileh, False },
42 { "<>|", tileh, True },
43 { "><>", NULL, True },
44 { "[m]", monocle, False },
45 { "[M]", monocle, True },
46 };
47
48 /* key definitions */
49 #define MODKEY Mod1Mask
50 Key keys[] = {
51 /* modifier key function argument */
52 { MODKEY, XK_p, spawn,
53 "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" },
54 { MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" },
55 { MODKEY, XK_j, focusnext, NULL },
56 { MODKEY|ShiftMask, XK_j, focusnext, "exact" },
57 { MODKEY, XK_k, focusprev, NULL },
58 { MODKEY|ShiftMask, XK_k, focusprev, "exact" },
59 { MODKEY, XK_r, reapply, NULL },
60 { MODKEY, XK_h, setmfact, "-0.05" },
61 { MODKEY, XK_l, setmfact, "+0.05" },
62 { MODKEY, XK_Return, zoom, NULL },
63 { MODKEY, XK_Tab, viewprevtag, NULL },
64 { MODKEY|ShiftMask, XK_c, killclient, NULL },
65 { MODKEY, XK_space, setlayout, NULL },
66 { MODKEY|ShiftMask, XK_space, togglefloating, NULL },
67 { MODKEY|ControlMask, XK_space, setgeom, NULL },
68 { MODKEY, XK_0, view, NULL },
69 { MODKEY, XK_1, view, tags[0] },
70 { MODKEY, XK_2, view, tags[1] },
71 { MODKEY, XK_3, view, tags[2] },
72 { MODKEY, XK_4, view, tags[3] },
73 { MODKEY, XK_5, view, tags[4] },
74 { MODKEY, XK_6, view, tags[5] },
75 { MODKEY, XK_7, view, tags[6] },
76 { MODKEY, XK_8, view, tags[7] },
77 { MODKEY, XK_9, view, tags[8] },
78 { MODKEY|ControlMask, XK_1, toggleview, tags[0] },
79 { MODKEY|ControlMask, XK_2, toggleview, tags[1] },
80 { MODKEY|ControlMask, XK_3, toggleview, tags[2] },
81 { MODKEY|ControlMask, XK_4, toggleview, tags[3] },
82 { MODKEY|ControlMask, XK_5, toggleview, tags[4] },
83 { MODKEY|ControlMask, XK_6, toggleview, tags[5] },
84 { MODKEY|ControlMask, XK_7, toggleview, tags[6] },
85 { MODKEY|ControlMask, XK_8, toggleview, tags[7] },
86 { MODKEY|ControlMask, XK_9, toggleview, tags[8] },
87 { MODKEY|ShiftMask, XK_0, tag, NULL },
88 { MODKEY|ShiftMask, XK_1, tag, tags[0] },
89 { MODKEY|ShiftMask, XK_2, tag, tags[1] },
90 { MODKEY|ShiftMask, XK_3, tag, tags[2] },
91 { MODKEY|ShiftMask, XK_4, tag, tags[3] },
92 { MODKEY|ShiftMask, XK_5, tag, tags[4] },
93 { MODKEY|ShiftMask, XK_6, tag, tags[5] },
94 { MODKEY|ShiftMask, XK_7, tag, tags[6] },
95 { MODKEY|ShiftMask, XK_8, tag, tags[7] },
96 { MODKEY|ShiftMask, XK_9, tag, tags[8] },
97 { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] },
98 { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] },
99 { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] },
100 { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] },
101 { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] },
102 { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] },
103 { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] },
104 { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] },
105 { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] },
106 { MODKEY|ShiftMask, XK_q, quit, NULL },
107 };