author | arg@mig29 |
Mon, 27 Nov 2006 17:30:06 +0100 | |
changeset 587 | fede0f2de723 |
parent 586 | c2ddd15b199e |
child 589 | 732c58a3d92d |
permissions | -rw-r--r-- |
532
651f2c868b31
code polishing, removed unnecessary newlines
Anselm R. Garbe <arg@10kloc.org>
parents:
530
diff
changeset
|
1 |
/* (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |
146
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
2 |
* See LICENSE file for license details. |
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
3 |
*/ |
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
4 |
|
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
5 |
#define TAGS \ |
376
201acf925788
changed config.arg.h - I really need the 4th tag
Anselm R. Garbe <arg@10kloc.org>
parents:
370
diff
changeset
|
6 |
const char *tags[] = { "dev", "work", "net", "fnord", NULL }; |
164
21071ae1fe68
made fullscreen apps working fine in floating mode (there is no sane way to make them work in tiled mode, thus I switch to floating mode if I run such kind of app), also fixed the xterm issue reported by Sander
arg@10ksloc.org
parents:
160
diff
changeset
|
7 |
|
505
2c29d74b11dc
first step to a more flexible dotile() algorithm
Anselm R. Garbe <arg@10kloc.org>
parents:
496
diff
changeset
|
8 |
#define DEFMODE dotile /* dofloat */ |
363 | 9 |
#define FLOATSYMBOL "><>" |
530
451f19d48845
removed the stack position stuff
Anselm R. Garbe <arg@10kloc.org>
parents:
528
diff
changeset
|
10 |
#define TILESYMBOL "[]=" |
353
8a06efe5b563
new color stuff/new rendering stuff
Anselm R. Garbe <arg@10kloc.org>
parents:
352
diff
changeset
|
11 |
|
569 | 12 |
#define FONT "-*-terminus-medium-*-*-*-14-*-*-*-*-*-iso10646-*" |
567
7e92f58754ae
nah reverting to my prev style, that's really the best
arg@mig29
parents:
566
diff
changeset
|
13 |
#define NORMBGCOLOR "#333333" |
7e92f58754ae
nah reverting to my prev style, that's really the best
arg@mig29
parents:
566
diff
changeset
|
14 |
#define NORMFGCOLOR "#dddddd" |
7e92f58754ae
nah reverting to my prev style, that's really the best
arg@mig29
parents:
566
diff
changeset
|
15 |
#define SELBGCOLOR "#336699" |
7e92f58754ae
nah reverting to my prev style, that's really the best
arg@mig29
parents:
566
diff
changeset
|
16 |
#define SELFGCOLOR "#eeeeee" |
7e92f58754ae
nah reverting to my prev style, that's really the best
arg@mig29
parents:
566
diff
changeset
|
17 |
#define STATUSBGCOLOR "#222222" |
7e92f58754ae
nah reverting to my prev style, that's really the best
arg@mig29
parents:
566
diff
changeset
|
18 |
#define STATUSFGCOLOR "#99ccff" |
353
8a06efe5b563
new color stuff/new rendering stuff
Anselm R. Garbe <arg@10kloc.org>
parents:
352
diff
changeset
|
19 |
|
586
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
20 |
#define MASTER 600 /* per thousand */ |
164
21071ae1fe68
made fullscreen apps working fine in floating mode (there is no sane way to make them work in tiled mode, thus I switch to floating mode if I run such kind of app), also fixed the xterm issue reported by Sander
arg@10ksloc.org
parents:
160
diff
changeset
|
21 |
#define MODKEY Mod1Mask |
586
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
22 |
#define NFUNCS 1 /* number of funcs per key */ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
23 |
#define SNAP 40 /* pixel */ |
146
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
24 |
|
152 | 25 |
#define KEYS \ |
146
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
26 |
static Key key[] = { \ |
586
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
27 |
/* modifier key functions arguments */ \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
28 |
{ MODKEY|ShiftMask, XK_Return, { spawn }, \ |
547
de3fd5271408
stupid urxvt needs bg to highlight selections in a sane way, though that makes sense to some extend
arg@mig29
parents:
545
diff
changeset
|
29 |
{ .cmd = "exec urxvtc -tr -bg black -fg '#eeeeee' -cr '#eeeeee' +sb -fn '"FONT"'" } }, \ |
586
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
30 |
{ MODKEY, XK_p, { spawn }, \ |
536
d5aa5a4be560
using lsx instead of Jukka's shell construct
Anselm R. Garbe <arg@10kloc.org>
parents:
532
diff
changeset
|
31 |
{ .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u " \ |
d5aa5a4be560
using lsx instead of Jukka's shell construct
Anselm R. Garbe <arg@10kloc.org>
parents:
532
diff
changeset
|
32 |
" | dmenu -font '"FONT"' -normbg '"NORMBGCOLOR"' -normfg '"NORMFGCOLOR"' " \ |
d5aa5a4be560
using lsx instead of Jukka's shell construct
Anselm R. Garbe <arg@10kloc.org>
parents:
532
diff
changeset
|
33 |
"-selbg '"SELBGCOLOR"' -selfg '"SELFGCOLOR"')\" && exec $exe" } }, \ |
586
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
34 |
{ MODKEY, XK_j, { focusnext }, { 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
35 |
{ MODKEY, XK_k, { focusprev }, { 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
36 |
{ MODKEY, XK_Return, { zoom }, { 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
37 |
{ MODKEY, XK_g, { resizemaster }, { .i = 15 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
38 |
{ MODKEY, XK_s, { resizemaster }, { .i = -15 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
39 |
{ MODKEY|ShiftMask, XK_1, { tag }, { .i = 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
40 |
{ MODKEY|ShiftMask, XK_2, { tag }, { .i = 1 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
41 |
{ MODKEY|ShiftMask, XK_3, { tag }, { .i = 2 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
42 |
{ MODKEY|ShiftMask, XK_4, { tag }, { .i = 3 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
43 |
{ MODKEY|ControlMask|ShiftMask, XK_1, { toggletag }, { .i = 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
44 |
{ MODKEY|ControlMask|ShiftMask, XK_2, { toggletag }, { .i = 1 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
45 |
{ MODKEY|ControlMask|ShiftMask, XK_3, { toggletag }, { .i = 2 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
46 |
{ MODKEY|ControlMask|ShiftMask, XK_4, { toggletag }, { .i = 3 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
47 |
{ MODKEY|ShiftMask, XK_c, { killclient }, { 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
48 |
{ MODKEY, XK_space, { togglemode }, { 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
49 |
{ MODKEY|ShiftMask, XK_space, { togglefloat }, { 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
50 |
{ MODKEY, XK_0, { viewall }, { 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
51 |
{ MODKEY, XK_1, { view }, { .i = 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
52 |
{ MODKEY, XK_2, { view }, { .i = 1 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
53 |
{ MODKEY, XK_3, { view }, { .i = 2 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
54 |
{ MODKEY, XK_4, { view }, { .i = 3 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
55 |
{ MODKEY|ControlMask, XK_1, { toggleview }, { .i = 0 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
56 |
{ MODKEY|ControlMask, XK_2, { toggleview }, { .i = 1 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
57 |
{ MODKEY|ControlMask, XK_3, { toggleview }, { .i = 2 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
58 |
{ MODKEY|ControlMask, XK_4, { toggleview }, { .i = 3 } }, \ |
c2ddd15b199e
changing Key.func into Key.func[NFUNCS], this allows sequences execution of functions per keypress (avoids implementing useless masterfunctions which call atomic ones)
arg@mig29
parents:
584
diff
changeset
|
59 |
{ MODKEY|ShiftMask, XK_q, { quit }, { 0 } }, \ |
146
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
60 |
}; |
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
61 |
|
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
62 |
#define RULES \ |
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
63 |
static Rule rule[] = { \ |
336
2a65e8b3d21a
implemented class:inst:title matching
Anselm R. Garbe <arg@10kloc.org>
parents:
326
diff
changeset
|
64 |
/* class:instance:title regex tags regex isfloat */ \ |
545 | 65 |
{ "Firefox.*", "net", False }, \ |
66 |
{ "Gimp.*", NULL, True }, \ |
|
67 |
{ "MPlayer.*", NULL, True }, \ |
|
68 |
{ "Acroread.*", NULL, True }, \ |
|
146
f328ce9c558c
centralized/externalized configuration to config.h
arg@10ksloc.org
parents:
diff
changeset
|
69 |
}; |