rev |
line source |
paulo@0
|
1 /* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
|
paulo@0
|
2 * See LICENSE file for license details.
|
paulo@0
|
3 */
|
paulo@0
|
4
|
paulo@0
|
5 /* appearance */
|
paulo@0
|
6 #define BORDERPX 1
|
paulo@0
|
7 #define FONT "6x9"
|
paulo@0
|
8 #define NORMBORDERCOLOR "#aaaaaa"
|
paulo@0
|
9 #define NORMBGCOLOR "#222222"
|
paulo@0
|
10 #define NORMFGCOLOR "#eeeeee"
|
paulo@0
|
11 #define SELBORDERCOLOR "#ff0000"
|
paulo@0
|
12 #define SELBGCOLOR "#222222"
|
paulo@0
|
13 #define SELFGCOLOR "#00ff00"
|
paulo@0
|
14 #define TOPBAR True /* False */
|
paulo@3
|
15 #define TASKBAR True /* False */
|
paulo@3
|
16 #define CLICK_TO_FOCUS True /* False */
|
paulo@0
|
17
|
paulo@0
|
18 /* behavior */
|
paulo@0
|
19 #define SNAP 10 /* pixel */
|
paulo@0
|
20 #define TAGS \
|
paulo@0
|
21 const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", NULL };
|
paulo@0
|
22 /* Query class:instance:title for regex matching info with following command:
|
paulo@0
|
23 * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { printf("%s\n",$2) }' */
|
paulo@0
|
24 #define RULES \
|
paulo@0
|
25 static Rule rule[] = { \
|
paulo@0
|
26 /* class:instance:title regex tags regex isversatile */ \
|
paulo@0
|
27 { "Gimp", NULL, False }, \
|
paulo@0
|
28 { "MPlayer", NULL, False }, \
|
paulo@0
|
29 { "Acroread", NULL, False }, \
|
paulo@0
|
30 };
|
paulo@0
|
31
|
paulo@0
|
32 /* layout(s) */
|
paulo@0
|
33 #define LAYOUTS \
|
paulo@0
|
34 static Layout layout[] = { \
|
paulo@0
|
35 /* symbol function */ \
|
paulo@0
|
36 { " ", versatile }, \
|
paulo@0
|
37 { "@", spiral }, \
|
paulo@0
|
38 { "&", spiral_h }, \
|
paulo@0
|
39 { "X", monocle }, \
|
paulo@0
|
40 { "#", grid }, \
|
paulo@0
|
41 { "U", bstack }, \
|
paulo@0
|
42 { "!", tile }, \
|
paulo@0
|
43 /*{ "\\", cascade },*/ \
|
paulo@0
|
44 /* first entry is default */ \
|
paulo@0
|
45 };
|
paulo@0
|
46 #define MASTER 650 /* per thousand */
|
paulo@0
|
47 #define NMASTER 1 /* clients in master area */
|
paulo@0
|
48
|
paulo@0
|
49 /* key definitions */
|
paulo@0
|
50 #define MODKEY Mod4Mask
|
paulo@0
|
51 #define KEYS \
|
paulo@0
|
52 static Key key[] = { \
|
paulo@0
|
53 /* modifier key function argument */ \
|
paulo@0
|
54 { MODKEY|ShiftMask, XK_Return, spawn, { .cmd = "/home/paulo/bin/myterm.sh" } }, \
|
paulo@0
|
55 { MODKEY, XK_backslash, spawn, { .cmd = "/home/paulo/bin/myterm.sh -e /home/paulo/bin/viclip.sh" } }, \
|
paulo@0
|
56 { MODKEY, XK_n, pushdown, { 0 } }, \
|
paulo@0
|
57 { MODKEY, XK_p, pushup, { 0 } }, \
|
paulo@0
|
58 { MODKEY, XK_Tab, focusnext, { 0 } }, \
|
paulo@0
|
59 { MODKEY|ShiftMask, XK_Tab, focusprev, { 0 } }, \
|
paulo@0
|
60 { MODKEY, XK_Return, zoom, { 0 } }, \
|
paulo@0
|
61 { MODKEY, XK_g, resizemaster, { .i = 15 } }, \
|
paulo@0
|
62 { MODKEY, XK_s, resizemaster, { .i = -15 } }, \
|
paulo@0
|
63 { MODKEY, XK_i, incnmaster, { .i = 1 } }, \
|
paulo@0
|
64 { MODKEY, XK_d, incnmaster, { .i = -1 } }, \
|
paulo@0
|
65 { MODKEY|ShiftMask, XK_grave, tag, { .i = -1 } }, \
|
paulo@0
|
66 { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \
|
paulo@0
|
67 { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \
|
paulo@0
|
68 { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \
|
paulo@0
|
69 { MODKEY|ShiftMask, XK_4, tag, { .i = 3 } }, \
|
paulo@0
|
70 { MODKEY|ShiftMask, XK_5, tag, { .i = 4 } }, \
|
paulo@0
|
71 { MODKEY|ShiftMask, XK_6, tag, { .i = 5 } }, \
|
paulo@0
|
72 { MODKEY|ShiftMask, XK_7, tag, { .i = 6 } }, \
|
paulo@0
|
73 { MODKEY|ShiftMask, XK_8, tag, { .i = 7 } }, \
|
paulo@0
|
74 { MODKEY|ShiftMask, XK_9, tag, { .i = 8 } }, \
|
paulo@0
|
75 { MODKEY|ShiftMask, XK_0, tag, { .i = 9 } }, \
|
paulo@0
|
76 { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, { .i = 0 } }, \
|
paulo@0
|
77 { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, { .i = 1 } }, \
|
paulo@0
|
78 { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, { .i = 2 } }, \
|
paulo@0
|
79 { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, { .i = 3 } }, \
|
paulo@0
|
80 { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, { .i = 4 } }, \
|
paulo@0
|
81 { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, { .i = 5 } }, \
|
paulo@0
|
82 { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, { .i = 6 } }, \
|
paulo@0
|
83 { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, { .i = 7 } }, \
|
paulo@0
|
84 { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, { .i = 8 } }, \
|
paulo@0
|
85 { MODKEY|ControlMask|ShiftMask, XK_0, toggletag, { .i = 9 } }, \
|
paulo@0
|
86 { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \
|
paulo@0
|
87 { MODKEY, XK_space, setlayout, { .i = -1 } }, \
|
paulo@1
|
88 { MODKEY|ShiftMask, XK_space, setlayout, { .i = -2 } }, \
|
paulo@0
|
89 { MODKEY, XK_F1, setlayout, { .i = 0 } }, \
|
paulo@0
|
90 { MODKEY, XK_F2, setlayout, { .i = 1 } }, \
|
paulo@0
|
91 { MODKEY, XK_F3, setlayout, { .i = 2 } }, \
|
paulo@0
|
92 { MODKEY, XK_F4, setlayout, { .i = 3 } }, \
|
paulo@0
|
93 { MODKEY, XK_F5, setlayout, { .i = 4 } }, \
|
paulo@0
|
94 { MODKEY, XK_F6, setlayout, { .i = 5 } }, \
|
paulo@0
|
95 { MODKEY, XK_F7, setlayout, { .i = 6 } }, \
|
paulo@1
|
96 { MODKEY|ControlMask, XK_space, toggleversatile,{ 0 } }, \
|
paulo@0
|
97 { MODKEY, XK_grave, view, { .i = -1 } }, \
|
paulo@0
|
98 { MODKEY, XK_1, view, { .i = 0 } }, \
|
paulo@0
|
99 { MODKEY, XK_2, view, { .i = 1 } }, \
|
paulo@0
|
100 { MODKEY, XK_3, view, { .i = 2 } }, \
|
paulo@0
|
101 { MODKEY, XK_4, view, { .i = 3 } }, \
|
paulo@0
|
102 { MODKEY, XK_5, view, { .i = 4 } }, \
|
paulo@0
|
103 { MODKEY, XK_6, view, { .i = 5 } }, \
|
paulo@0
|
104 { MODKEY, XK_7, view, { .i = 6 } }, \
|
paulo@0
|
105 { MODKEY, XK_8, view, { .i = 7 } }, \
|
paulo@0
|
106 { MODKEY, XK_9, view, { .i = 8 } }, \
|
paulo@0
|
107 { MODKEY, XK_0, view, { .i = 9 } }, \
|
paulo@1
|
108 { MODKEY, XK_minus, next_view, { .i = -1 } }, \
|
paulo@1
|
109 { MODKEY, XK_equal, next_view, { .i = 1 } }, \
|
paulo@0
|
110 { MODKEY, XK_BackSpace, last_view, { 0 } }, \
|
paulo@0
|
111 { MODKEY|ControlMask, XK_1, toggleview, { .i = 0 } }, \
|
paulo@0
|
112 { MODKEY|ControlMask, XK_2, toggleview, { .i = 1 } }, \
|
paulo@0
|
113 { MODKEY|ControlMask, XK_3, toggleview, { .i = 2 } }, \
|
paulo@0
|
114 { MODKEY|ControlMask, XK_4, toggleview, { .i = 3 } }, \
|
paulo@0
|
115 { MODKEY|ControlMask, XK_5, toggleview, { .i = 4 } }, \
|
paulo@0
|
116 { MODKEY|ControlMask, XK_6, toggleview, { .i = 5 } }, \
|
paulo@0
|
117 { MODKEY|ControlMask, XK_7, toggleview, { .i = 6 } }, \
|
paulo@0
|
118 { MODKEY|ControlMask, XK_8, toggleview, { .i = 7 } }, \
|
paulo@0
|
119 { MODKEY|ControlMask, XK_9, toggleview, { .i = 8 } }, \
|
paulo@0
|
120 { MODKEY|ControlMask, XK_0, toggleview, { .i = 9 } }, \
|
paulo@0
|
121 { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \
|
paulo@0
|
122 { MODKEY, XK_h, moveresize, "-25x 0y 0w 0h" }, \
|
paulo@0
|
123 { MODKEY, XK_l, moveresize, "25x 0y 0w 0h" }, \
|
paulo@0
|
124 { MODKEY, XK_j, moveresize, "0x 25y 0w 0h" }, \
|
paulo@0
|
125 { MODKEY, XK_k, moveresize, "0x -25y 0w 0h" }, \
|
paulo@0
|
126 { MODKEY|ControlMask, XK_h, moveresize, "0X 0y 0w 0h" }, \
|
paulo@0
|
127 { MODKEY|ControlMask, XK_l, moveresize, "9000X 0y 0w 0h" }, \
|
paulo@0
|
128 { MODKEY|ControlMask, XK_j, moveresize, "0x 9000Y 0w 0h" }, \
|
paulo@4
|
129 { MODKEY|ControlMask, XK_k, moveresize, "0x 0Y 0w 0h" }, \
|
paulo@0
|
130 { MODKEY|ShiftMask, XK_h, moveresize, "0x 0y -25w 0h" }, \
|
paulo@0
|
131 { MODKEY|ShiftMask, XK_l, moveresize, "0x 0y 25w 0h" }, \
|
paulo@0
|
132 { MODKEY|ShiftMask, XK_j, moveresize, "0x 0y 0w 25h" }, \
|
paulo@0
|
133 { MODKEY|ShiftMask, XK_k, moveresize, "0x 0y 0w -25h" }, \
|
paulo@0
|
134 };
|
paulo@0
|
135
|
paulo@4
|
136 #define MAX_TASKS 13 /* max number of apps in taskbar */
|