about summary refs log tree commit diff stats
path: root/config.arg.h
blob: ce77572dff0a3477987f5be01fa606e6ebf9ae78 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/* (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 * See LICENSE file for license details.
 */

#define TAGS \
const char *tags[] = { "dev", "work", "net", "fnord", NULL };

#define DEFMODE			dotile		/* dofloat */
#define FLOATSYMBOL		"><>"
#define TILESYMBOL		"[]="

#define FONT			"-*-terminus-medium-*-*-*-14-*-*-*-*-*-iso10646-*"
#define NORMBGCOLOR		"#333333"
#define NORMFGCOLOR		"#dddddd"
#define SELBGCOLOR		"#336699"
#define SELFGCOLOR		"#eeeeee"
#define STATUSBGCOLOR		"#222222"
#define STATUSFGCOLOR		"#99ccff"

#define MASTER			600		/* per thousand */
#define MODKEY			Mod1Mask
#define NFUNCS			1		/* number of funcs per key */
#define SNAP			40		/* pixel */

#define KEYS \
static Key key[] = { \
	/* modifier			key		functions		arguments */ \
	{ MODKEY|ShiftMask,		XK_Return,	{ spawn }, \
		{ .cmd = "exec urxvtc -tr -bg black -fg '#eeeeee' -cr '#eeeeee' +sb -fn '"FONT"'" } }, \
	{ MODKEY,			XK_p,		{ spawn }, \
		{ .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u " \
			" | dmenu -font '"FONT"' -normbg '"NORMBGCOLOR"' -normfg '"NORMFGCOLOR"' " \
			"-selbg '"SELBGCOLOR"' -selfg '"SELFGCOLOR"')\" && exec $exe" } }, \
	{ MODKEY,			XK_j,		{ focusnext },		{ 0 } }, \
	{ MODKEY,			XK_k,		{ focusprev },		{ 0 } }, \
	{ MODKEY,			XK_Return,	{ zoom },		{ 0 } }, \
	{ MODKEY,			XK_g,		{ resizemaster },	{ .i = 15 } }, \
	{ MODKEY,			XK_s,		{ resizemaster },	{ .i = -15 } }, \
	{ MODKEY|ShiftMask,		XK_1,		{ tag },		{ .i = 0 } }, \
	{ MODKEY|ShiftMask,		XK_2,		{ tag },		{ .i = 1 } }, \
	{ MODKEY|ShiftMask,		XK_3,		{ tag },		{ .i = 2 } }, \
	{ MODKEY|ShiftMask,		XK_4,		{ tag },		{ .i = 3 } }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		{ toggletag },		{ .i = 0 } }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		{ toggletag },		{ .i = 1 } }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		{ toggletag },		{ .i = 2 } }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_4,		{ toggletag },		{ .i = 3 } }, \
	{ MODKEY|ShiftMask,		XK_c,		{ killclient },		{ 0 } }, \
	{ MODKEY,			XK_space,	{ togglemode },		{ 0 } }, \
	{ MODKEY|ShiftMask,		XK_space,	{ togglefloat },	{ 0 } }, \
	{ MODKEY,			XK_0,		{ viewall },		{ 0 } }, \
	{ MODKEY,			XK_1,		{ view },		{ .i = 0 } }, \
	{ MODKEY,			XK_2,		{ view },		{ .i = 1 } }, \
	{ MODKEY,			XK_3,		{ view },		{ .i = 2 } }, \
	{ MODKEY,			XK_4,		{ view },		{ .i = 3 } }, \
	{ MODKEY|ControlMask,		XK_1,		{ toggleview },		{ .i = 0 } }, \
	{ MODKEY|ControlMask,		XK_2,		{ toggleview },		{ .i = 1 } }, \
	{ MODKEY|ControlMask,		XK_3,		{ toggleview },		{ .i = 2 } }, \
	{ MODKEY|ControlMask,		XK_4,		{ toggleview },		{ .i = 3 } }, \
	{ MODKEY|ShiftMask,		XK_q,		{ quit },		{ 0 } }, \
};

#define RULES \
static Rule rule[] = { \
	/* class:instance:title regex	tags regex	isfloat */ \
	{ "Firefox.*",			"net",		False }, \
	{ "Gimp.*",			NULL,		True }, \
	{ "MPlayer.*",			NULL,		True }, \
	{ "Acroread.*",			NULL,		True }, \
};
TP .B Mod1-k Focus previous .B window. .TP .B Mod1-m Maximize current .B window. .TP .B Mod1-[0..n] Focus .B nth tag. .TP .B Mod1-space Toggle between .B tiled and .B floating mode (affects .BR "all windows" ). .TP .B Mod1-Shift-[0..n] Apply .B nth tag to current .B window. .TP .B Mod1-Shift-c Close focused .B window. .TP .B Mod1-Shift-q Quit .B dwm. .TP .B Mod1-Shift-Return Start .B terminal. .TP .B Mod1-Control-[0..n] Toggle .B nth tag. .TP .B Mod1-Control-Shift-[0..n] Append .B nth tag to current .B window. .SS Mouse commands .TP .B Mod1-Button1 Move current .B window while dragging. .TP .B Mod1-Button2 Zoom current .B window to the .B master column. .TP .B Mod1-Button3 Resize current .B window while dragging. .SH CUSTOMIZATION .B dwm is customized by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple. .SH CAVEATS The status bar displays .BR "broken pipe" when .B dwm has been started by .BR xdm (1), because it closes standard output before executing .B dwm. .SH SEE ALSO .BR dmenu (1)