centralized/externalized configuration to config.h
This commit is contained in:
		
							parent
							
								
									57416beefe
								
							
						
					
					
						commit
						a73a882806
					
				
							
								
								
									
										8
									
								
								README
								
								
								
								
							
							
						
						
									
										8
									
								
								README
								
								
								
								
							| 
						 | 
					@ -18,6 +18,11 @@ necessary as root):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    make clean install
 | 
					    make clean install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you want to use a customized config.h, you can use the following
 | 
				
			||||||
 | 
					command for installing dwm:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make CONFIG=<your-config>.h clean install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Running dwm
 | 
					Running dwm
 | 
				
			||||||
-----------
 | 
					-----------
 | 
				
			||||||
| 
						 | 
					@ -47,5 +52,4 @@ like this in your .xinitrc:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Configuration
 | 
					Configuration
 | 
				
			||||||
-------------
 | 
					-------------
 | 
				
			||||||
The configuration of dwm is done by customizing its source code
 | 
					The configuration of dwm is done by editing config.h.
 | 
				
			||||||
(grep for the CUSTOMIZE keyword).
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,76 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 | 
				
			||||||
 | 
					 * See LICENSE file for license details.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FONT			"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*"
 | 
				
			||||||
 | 
					#define BGCOLOR			"#0a2c2d"
 | 
				
			||||||
 | 
					#define FGCOLOR			"#ddeeee"
 | 
				
			||||||
 | 
					#define BORDERCOLOR		"#176164"
 | 
				
			||||||
 | 
					#define MODKEY			Mod1Mask
 | 
				
			||||||
 | 
					#define NUMLOCKMASK		Mod2Mask
 | 
				
			||||||
 | 
					#define MASTERW			52 /* percent */
 | 
				
			||||||
 | 
					#define WM_PROTOCOL_DELWIN	1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };
 | 
				
			||||||
 | 
					#define TAGS \
 | 
				
			||||||
 | 
					char *tags[TLast] = { \
 | 
				
			||||||
 | 
						[Tfnord] = "fnord", \
 | 
				
			||||||
 | 
						[Tdev] = "dev", \
 | 
				
			||||||
 | 
						[Tnet] = "net", \
 | 
				
			||||||
 | 
						[Twork] = "work", \
 | 
				
			||||||
 | 
						[Tmisc] = "misc", \
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#define DEFTAG Tdev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define CMDS \
 | 
				
			||||||
 | 
						const char *browse[] = { "firefox", NULL }; \
 | 
				
			||||||
 | 
						const char *gimp[] = { "gimp", NULL }; \
 | 
				
			||||||
 | 
						const char *term[] = { \
 | 
				
			||||||
 | 
							"urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", \
 | 
				
			||||||
 | 
							"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL \
 | 
				
			||||||
 | 
						}; \
 | 
				
			||||||
 | 
						const char *xlock[] = { "xlock", NULL };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEYS \
 | 
				
			||||||
 | 
					static Key key[] = { \
 | 
				
			||||||
 | 
						/* modifier		key		function	arguments */ \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_0,		view,		{ .i = Tfnord } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_1,		view,		{ .i = Tdev } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_2,		view,		{ .i = Tnet } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_3,		view,		{ .i = Twork } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_4,		view,		{ .i = Tmisc} }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_h,		viewprev,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_j,		focusnext,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_k,		focusprev,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_l,		viewnext,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_m,		togglemax,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_space,	togglemode,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_Return,	zoom,		{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_0,		appendtag,	{ .i = Tfnord } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_1,		appendtag,	{ .i = Tdev } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_2,		appendtag,	{ .i = Tnet } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_3,		appendtag,	{ .i = Twork } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_4,		appendtag,	{ .i = Tmisc } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_0,		replacetag,	{ .i = Tfnord } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_1,		replacetag,	{ .i = Tdev } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_2,		replacetag,	{ .i = Tnet } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_3,		replacetag,	{ .i = Twork } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_4,		replacetag,	{ .i = Tmisc } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_c,		killclient,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_q,		quit,		{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_Return,	spawn,		{ .argv = term } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_g,		spawn,		{ .argv = gimp } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_w,		spawn,		{ .argv = browse } }, \
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RULES \
 | 
				
			||||||
 | 
					static Rule rule[] = { \
 | 
				
			||||||
 | 
						/* class:instance	tags				isfloat */ \
 | 
				
			||||||
 | 
						{ "Firefox.*",		{ [Tnet] = "net" },		False }, \
 | 
				
			||||||
 | 
						{ "Gimp.*",		{ 0 },				True}, \
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ARRANGE dotile
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,67 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 | 
				
			||||||
 | 
					 * See LICENSE file for license details.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FONT			"fixed"
 | 
				
			||||||
 | 
					#define BGCOLOR			"#666699"
 | 
				
			||||||
 | 
					#define FGCOLOR			"#eeeeee"
 | 
				
			||||||
 | 
					#define BORDERCOLOR		"#9999CC"
 | 
				
			||||||
 | 
					#define MODKEY			Mod1Mask
 | 
				
			||||||
 | 
					#define NUMLOCKMASK		Mod2Mask
 | 
				
			||||||
 | 
					#define MASTERW			52 /* percent */
 | 
				
			||||||
 | 
					#define WM_PROTOCOL_DELWIN	1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };
 | 
				
			||||||
 | 
					#define TAGS \
 | 
				
			||||||
 | 
					char *tags[TLast] = { \
 | 
				
			||||||
 | 
						[Tfnord] = "fnord", \
 | 
				
			||||||
 | 
						[Tdev] = "dev", \
 | 
				
			||||||
 | 
						[Tnet] = "net", \
 | 
				
			||||||
 | 
						[Twork] = "work", \
 | 
				
			||||||
 | 
						[Tmisc] = "misc", \
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#define DEFTAG Tdev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define CMDS \
 | 
				
			||||||
 | 
						const char *term[] = { "xterm", NULL };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEYS \
 | 
				
			||||||
 | 
					static Key key[] = { \
 | 
				
			||||||
 | 
						/* modifier		key		function	arguments */ \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_0,		view,		{ .i = Tfnord } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_1,		view,		{ .i = Tdev } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_2,		view,		{ .i = Tnet } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_3,		view,		{ .i = Twork } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_4,		view,		{ .i = Tmisc} }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_h,		viewprev,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_j,		focusnext,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_k,		focusprev,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_l,		viewnext,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_m,		togglemax,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_space,	togglemode,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY,		XK_Return,	zoom,		{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_0,		appendtag,	{ .i = Tfnord } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_1,		appendtag,	{ .i = Tdev } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_2,		appendtag,	{ .i = Tnet } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_3,		appendtag,	{ .i = Twork } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ControlMask,	XK_4,		appendtag,	{ .i = Tmisc } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_0,		replacetag,	{ .i = Tfnord } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_1,		replacetag,	{ .i = Tdev } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_2,		replacetag,	{ .i = Tnet } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_3,		replacetag,	{ .i = Twork } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_4,		replacetag,	{ .i = Tmisc } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_c,		killclient,	{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_q,		quit,		{ 0 } }, \
 | 
				
			||||||
 | 
						{ MODKEY|ShiftMask,	XK_Return,	spawn,		{ .argv = term } }, \
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RULES \
 | 
				
			||||||
 | 
					static Rule rule[] = { \
 | 
				
			||||||
 | 
						/* class:instance	tags				isfloat */ \
 | 
				
			||||||
 | 
						{ "Firefox.*",		{ [Tnet] = "net" },		False }, \
 | 
				
			||||||
 | 
						{ "Gimp.*",		{ 0 },				True}, \
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ARRANGE dotile
 | 
				
			||||||
| 
						 | 
					@ -12,9 +12,9 @@ INCS = -I/usr/lib -I${X11INC}
 | 
				
			||||||
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
 | 
					LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# flags
 | 
					# flags
 | 
				
			||||||
CFLAGS = -O3 ${INCS} -DVERSION=\"${VERSION}\"
 | 
					CFLAGS = -O3 ${INCS} -DVERSION=\"${VERSION}\" -DCONFIG=\"${CONFIG}\"
 | 
				
			||||||
LDFLAGS = ${LIBS}
 | 
					LDFLAGS = ${LIBS}
 | 
				
			||||||
#CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
 | 
					#CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" -DCONFIG=\"${CONFIGH}\"
 | 
				
			||||||
#LDFLAGS = -g ${LIBS}
 | 
					#LDFLAGS = -g ${LIBS}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# compiler
 | 
					# compiler
 | 
				
			||||||
| 
						 | 
					@ -22,3 +22,6 @@ CC = cc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# dwm version
 | 
					# dwm version
 | 
				
			||||||
VERSION = 0.6
 | 
					VERSION = 0.6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# default config.h
 | 
				
			||||||
 | 
					CONFIG = config.h
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										6
									
								
								dwm.1
								
								
								
								
							
							
						
						
									
										6
									
								
								dwm.1
								
								
								
								
							| 
						 | 
					@ -98,7 +98,5 @@ Resizes current
 | 
				
			||||||
while dragging
 | 
					while dragging
 | 
				
			||||||
.SH CUSTOMIZATION
 | 
					.SH CUSTOMIZATION
 | 
				
			||||||
.B dwm
 | 
					.B dwm
 | 
				
			||||||
is customized through editing its source code.  This keeps it fast, secure and
 | 
					is customized through editing config.h of the source code.  This keeps it fast,
 | 
				
			||||||
simple. The source code contains the
 | 
					secure and simple.
 | 
				
			||||||
.I CUSTOMIZE
 | 
					 | 
				
			||||||
keyword to highlight relevant portions for customization.
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										21
									
								
								dwm.h
								
								
								
								
							
							
						
						
									
										21
									
								
								dwm.h
								
								
								
								
							| 
						 | 
					@ -4,26 +4,7 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <X11/Xlib.h>
 | 
					#include <X11/Xlib.h>
 | 
				
			||||||
 | 
					#include CONFIG
 | 
				
			||||||
/* CUSTOMIZE */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define FONT			"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*"
 | 
					 | 
				
			||||||
#define BGCOLOR			"#0a2c2d"
 | 
					 | 
				
			||||||
#define FGCOLOR			"#ddeeee"
 | 
					 | 
				
			||||||
#define BORDERCOLOR		"#176164"
 | 
					 | 
				
			||||||
#define MODKEY			Mod1Mask /* Mod4Mask */
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
#define BGCOLOR			"#666699"
 | 
					 | 
				
			||||||
#define FGCOLOR			"#eeeeee"
 | 
					 | 
				
			||||||
#define BORDERCOLOR		"#9999CC"
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
#define MASTERW			52 /* percent */
 | 
					 | 
				
			||||||
#define WM_PROTOCOL_DELWIN	1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* tags */
 | 
					 | 
				
			||||||
enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* END CUSTOMIZE */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* mask shorthands, used in event.c and client.c */
 | 
					/* mask shorthands, used in event.c and client.c */
 | 
				
			||||||
#define ButtonMask	(ButtonPressMask | ButtonReleaseMask)
 | 
					#define ButtonMask	(ButtonPressMask | ButtonReleaseMask)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										64
									
								
								event.c
								
								
								
								
							
							
						
						
									
										64
									
								
								event.c
								
								
								
								
							| 
						 | 
					@ -8,7 +8,7 @@
 | 
				
			||||||
#include <X11/keysym.h>
 | 
					#include <X11/keysym.h>
 | 
				
			||||||
#include <X11/Xatom.h>
 | 
					#include <X11/Xatom.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CUSTOMIZE */
 | 
					/* static */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct {
 | 
					typedef struct {
 | 
				
			||||||
	unsigned long mod;
 | 
						unsigned long mod;
 | 
				
			||||||
| 
						 | 
					@ -17,52 +17,10 @@ typedef struct {
 | 
				
			||||||
	Arg arg;
 | 
						Arg arg;
 | 
				
			||||||
} Key;
 | 
					} Key;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char *browse[] = { "firefox", NULL };
 | 
					CMDS
 | 
				
			||||||
const char *gimp[] = { "gimp", NULL };
 | 
					KEYS
 | 
				
			||||||
const char *term[] = { /*"xterm", NULL };*/
 | 
					 | 
				
			||||||
	"urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white",
 | 
					 | 
				
			||||||
	"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
const char *xlock[] = { "xlock", NULL };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
static Key key[] = {
 | 
					static unsigned int valid_mask =  255 &  ~(NUMLOCKMASK | LockMask);
 | 
				
			||||||
	/* modifier		key		function	arguments */
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_0,		view,		{ .i = Tfnord } }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_1,		view,		{ .i = Tdev } }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_2,		view,		{ .i = Tnet } }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_3,		view,		{ .i = Twork } }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_4,		view,		{ .i = Tmisc} }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_h,		viewprev,	{ 0 } },
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_j,		focusnext,	{ 0 } }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_k,		focusprev,	{ 0 } },
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_l,		viewnext,	{ 0 } },
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_m,		togglemax,	{ 0 } }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_space,	togglemode,	{ 0 } }, 
 | 
					 | 
				
			||||||
	{ MODKEY,		XK_Return,	zoom,		{ 0 } },
 | 
					 | 
				
			||||||
	{ MODKEY|ControlMask,	XK_0,		appendtag,	{ .i = Tfnord } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ControlMask,	XK_1,		appendtag,	{ .i = Tdev } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ControlMask,	XK_2,		appendtag,	{ .i = Tnet } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ControlMask,	XK_3,		appendtag,	{ .i = Twork } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ControlMask,	XK_4,		appendtag,	{ .i = Tmisc } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_0,		replacetag,	{ .i = Tfnord } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_1,		replacetag,	{ .i = Tdev } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_2,		replacetag,	{ .i = Tnet } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_3,		replacetag,	{ .i = Twork } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_4,		replacetag,	{ .i = Tmisc } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_c,		killclient,	{ 0 } }, 
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_q,		quit,		{ 0 } },
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_Return,	spawn,		{ .argv = term } },
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_g,		spawn,		{ .argv = gimp } },
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } },
 | 
					 | 
				
			||||||
	{ MODKEY|ShiftMask,	XK_w,		spawn,		{ .argv = browse } },
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define NumLockMask Mod2Mask
 | 
					 | 
				
			||||||
unsigned int valid_mask =  255 &  ~( NumLockMask | LockMask);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* END CUSTOMIZE */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* static */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
movemouse(Client *c)
 | 
					movemouse(Client *c)
 | 
				
			||||||
| 
						 | 
					@ -381,19 +339,13 @@ grabkeys()
 | 
				
			||||||
	for(i = 0; i < len; i++) {
 | 
						for(i = 0; i < len; i++) {
 | 
				
			||||||
		code = XKeysymToKeycode(dpy, key[i].keysym);
 | 
							code = XKeysymToKeycode(dpy, key[i].keysym);
 | 
				
			||||||
		XUngrabKey(dpy, code, key[i].mod, root);
 | 
							XUngrabKey(dpy, code, key[i].mod, root);
 | 
				
			||||||
		if (NumLockMask)
 | 
							XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root);
 | 
				
			||||||
		{
 | 
							XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root);
 | 
				
			||||||
			XUngrabKey(dpy, code, key[i].mod | NumLockMask, root);
 | 
					 | 
				
			||||||
			XUngrabKey(dpy, code, key[i].mod | NumLockMask | LockMask, root);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		XGrabKey(dpy, code, key[i].mod, root, True,
 | 
							XGrabKey(dpy, code, key[i].mod, root, True,
 | 
				
			||||||
				GrabModeAsync, GrabModeAsync);
 | 
									GrabModeAsync, GrabModeAsync);
 | 
				
			||||||
		if (NumLockMask)
 | 
							XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root, True,
 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			XGrabKey(dpy, code, key[i].mod | NumLockMask, root, True,
 | 
					 | 
				
			||||||
				GrabModeAsync, GrabModeAsync);
 | 
									GrabModeAsync, GrabModeAsync);
 | 
				
			||||||
			XGrabKey(dpy, code, key[i].mod | NumLockMask | LockMask, root, True,
 | 
							XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True,
 | 
				
			||||||
				GrabModeAsync, GrabModeAsync);
 | 
									GrabModeAsync, GrabModeAsync);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								main.c
								
								
								
								
							
							
						
						
									
										4
									
								
								main.c
								
								
								
								
							| 
						 | 
					@ -85,9 +85,7 @@ xerrorstart(Display *dsply, XErrorEvent *ee)
 | 
				
			||||||
/* extern */
 | 
					/* extern */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char stext[1024];
 | 
					char stext[1024];
 | 
				
			||||||
/* CUSTOMIZE */
 | 
					int tsel = DEFTAG;
 | 
				
			||||||
int tsel = Tdev; /* default tag */
 | 
					 | 
				
			||||||
/* END CUSTOMIZE */
 | 
					 | 
				
			||||||
int screen, sx, sy, sw, sh, bx, by, bw, bh, mw;
 | 
					int screen, sx, sy, sw, sh, bx, by, bw, bh, mw;
 | 
				
			||||||
Atom wmatom[WMLast], netatom[NetLast];
 | 
					Atom wmatom[WMLast], netatom[NetLast];
 | 
				
			||||||
Bool running = True;
 | 
					Bool running = True;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										20
									
								
								tag.c
								
								
								
								
							
							
						
						
									
										20
									
								
								tag.c
								
								
								
								
							| 
						 | 
					@ -18,24 +18,10 @@ typedef struct {
 | 
				
			||||||
	Bool isfloat;
 | 
						Bool isfloat;
 | 
				
			||||||
} Rule;
 | 
					} Rule;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CUSTOMIZE */ 
 | 
					TAGS
 | 
				
			||||||
static Rule rule[] = {
 | 
					RULES
 | 
				
			||||||
	/* class:instance	tags				isfloat */
 | 
					 | 
				
			||||||
	{ "Firefox.*",		{ [Tnet] = "net" },		False },
 | 
					 | 
				
			||||||
	{ "Gimp.*",		{ 0 },				True},
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
char *tags[TLast] = {
 | 
					void (*arrange)(Arg *) = ARRANGE;
 | 
				
			||||||
	[Tfnord] = "fnord",
 | 
					 | 
				
			||||||
	[Tdev] = "dev",
 | 
					 | 
				
			||||||
	[Tnet] = "net",
 | 
					 | 
				
			||||||
	[Twork] = "work",
 | 
					 | 
				
			||||||
	[Tmisc] = "misc",
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void (*arrange)(Arg *) = dotile;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* END CUSTOMIZE */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* extern */
 | 
					/* extern */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue