all repos — dwm @ 8c4623da80af2e25e3f0d15f56598624f4f37d5d

fork of suckless dynamic window manager

config.default.h (view raw)

 1/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
 2 * See LICENSE file for license details.
 3 */
 4
 5#define TAGS \
 6const char *tags[] = { "1", "2", "3", "4", "5", NULL };
 7
 8#define DEFMODE			dotile /* dofloat */
 9#define FLOATSYMBOL		"><>"
10#define TILESYMBOL		"[]="
11
12#define FONT			"-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*"
13#define NORMBGCOLOR		"#333366"
14#define NORMFGCOLOR		"#cccccc"
15#define SELBGCOLOR		"#666699"
16#define SELFGCOLOR		"#eeeeee"
17#define STATUSBGCOLOR		"#dddddd"
18#define STATUSFGCOLOR		"#222222"
19
20#define MASTER			600		/* per thousand */
21#define MODKEY			Mod1Mask
22#define NMASTER			1		/* clients in master area */
23#define SNAP			20		/* pixel */
24
25#define KEYS \
26static Key key[] = { \
27	/* modifier			key		function	argument */ \
28	{ MODKEY|ShiftMask,		XK_Return,	spawn,		{ .cmd = "exec xterm" } }, \
29	{ MODKEY,			XK_Tab,		focusnext,	{ 0 } }, \
30	{ MODKEY|ShiftMask,		XK_Tab,		focusprev,	{ 0 } }, \
31	{ MODKEY,			XK_Return,	zoom,		{ 0 } }, \
32	{ MODKEY,			XK_g,		resizemaster,	{ .i = 15 } }, \
33	{ MODKEY,			XK_s,		resizemaster,	{ .i = -15 } }, \
34	{ MODKEY,			XK_i,		incnmaster,	{ .i = 1 } }, \
35	{ MODKEY,			XK_d,		incnmaster,	{ .i = -1 } }, \
36	{ MODKEY|ShiftMask,		XK_0,		tag,		{ .i = -1 } }, \
37	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 0 } }, \
38	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 1 } }, \
39	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 2 } }, \
40	{ MODKEY|ShiftMask,		XK_4,		tag,		{ .i = 3 } }, \
41	{ MODKEY|ShiftMask,		XK_5,		tag,		{ .i = 4 } }, \
42	{ MODKEY|ControlMask|ShiftMask,	XK_1,		toggletag,	{ .i = 0 } }, \
43	{ MODKEY|ControlMask|ShiftMask,	XK_2,		toggletag,	{ .i = 1 } }, \
44	{ MODKEY|ControlMask|ShiftMask,	XK_3,		toggletag,	{ .i = 2 } }, \
45	{ MODKEY|ControlMask|ShiftMask,	XK_4,		toggletag,	{ .i = 3 } }, \
46	{ MODKEY|ControlMask|ShiftMask,	XK_5,		toggletag,	{ .i = 4 } }, \
47	{ MODKEY|ShiftMask,		XK_c,		killclient,	{ 0 } }, \
48	{ MODKEY,			XK_space,	togglemode,	{ 0 } }, \
49	{ MODKEY|ShiftMask,		XK_space,	togglefloat,	{ 0 } }, \
50	{ MODKEY,			XK_0,		view,		{ .i = -1 } }, \
51	{ MODKEY,			XK_1,		view,		{ .i = 0 } }, \
52	{ MODKEY,			XK_2,		view,		{ .i = 1 } }, \
53	{ MODKEY,			XK_3,		view,		{ .i = 2 } }, \
54	{ MODKEY,			XK_4,		view,		{ .i = 3 } }, \
55	{ MODKEY,			XK_5,		view,		{ .i = 4 } }, \
56	{ MODKEY|ControlMask,		XK_1,		toggleview,	{ .i = 0 } }, \
57	{ MODKEY|ControlMask,		XK_2,		toggleview,	{ .i = 1 } }, \
58	{ MODKEY|ControlMask,		XK_3,		toggleview,	{ .i = 2 } }, \
59	{ MODKEY|ControlMask,		XK_4,		toggleview,	{ .i = 3 } }, \
60	{ MODKEY|ControlMask,		XK_5,		toggleview,	{ .i = 4 } }, \
61	{ MODKEY|ShiftMask,		XK_q,		quit,		{ 0 } }, \
62};
63
64/* Query class:instance:title for regex matching info with following command:
65 * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { printf("%s\n",$2) }' */
66#define RULES \
67static Rule rule[] = { \
68	/* class:instance:title regex	tags regex	isfloat */ \
69	{ "Firefox.*",			"2",		False }, \
70	{ "Gimp.*",			NULL,		True }, \
71};