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). |  | ||||||
|  | |||||||
							
								
								
									
										76
									
								
								config.arg.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								config.arg.h
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||||
							
								
								
									
										67
									
								
								config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								config.h
									
									
									
									
									
										Normal file
									
								
							| @ -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) | ||||||
|  | |||||||
							
								
								
									
										68
									
								
								event.c
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								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, | ||||||
| 		{ | 				GrabModeAsync, GrabModeAsync); | ||||||
| 			XGrabKey(dpy, code, key[i].mod | NumLockMask, root, True, | 		XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True, | ||||||
| 					GrabModeAsync, GrabModeAsync); | 				GrabModeAsync, GrabModeAsync); | ||||||
| 			XGrabKey(dpy, code, key[i].mod | NumLockMask | LockMask, root, True, |  | ||||||
| 					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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 arg@10ksloc.org
						arg@10ksloc.org