removed config.h stuff, made dwm configurable due to command line options
This commit is contained in:
		
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| @@ -19,11 +19,7 @@ options: | |||||||
| 	@echo CC $< | 	@echo CC $< | ||||||
| 	@${CC} -c ${CFLAGS} $< | 	@${CC} -c ${CFLAGS} $< | ||||||
|  |  | ||||||
| ${OBJ}: dmenu.h config.h config.mk | ${OBJ}: dmenu.h config.mk | ||||||
|  |  | ||||||
| config.h: |  | ||||||
| 	@echo creating $@ from config.default.h |  | ||||||
| 	@cp config.default.h $@ |  | ||||||
|  |  | ||||||
| dmenu: ${OBJ} | dmenu: ${OBJ} | ||||||
| 	@echo LD $@ | 	@echo LD $@ | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								config.arg.h
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								config.arg.h
									
									
									
									
									
								
							| @@ -1,11 +0,0 @@ | |||||||
| /* |  | ||||||
|  * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |  | ||||||
|  * See LICENSE file for license details. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #define FONT			"-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso10646-*" |  | ||||||
| #define SELBGCOLOR		"#333366" |  | ||||||
| #define SELFGCOLOR		"#eeeeee" |  | ||||||
| #define NORMBGCOLOR		"#333333" |  | ||||||
| #define NORMFGCOLOR		"#dddddd" |  | ||||||
| #define STDIN_TIMEOUT		3 /* seconds */ |  | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| /* |  | ||||||
|  * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |  | ||||||
|  * See LICENSE file for license details. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #define FONT			"fixed" |  | ||||||
| #define SELBGCOLOR		"#666699" |  | ||||||
| #define SELFGCOLOR		"#eeeeee" |  | ||||||
| #define NORMBGCOLOR		"#333366" |  | ||||||
| #define NORMFGCOLOR		"#cccccc" |  | ||||||
| #define STDIN_TIMEOUT		3 /* seconds */ |  | ||||||
| @@ -1,5 +1,5 @@ | |||||||
| # dmenu version | # dmenu version | ||||||
| VERSION = 1.0 | VERSION = 1.1 | ||||||
|  |  | ||||||
| # Customize below to fit your system | # Customize below to fit your system | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								dmenu.1
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								dmenu.1
									
									
									
									
									
								
							| @@ -3,6 +3,12 @@ | |||||||
| dmenu \- dynamic menu | dmenu \- dynamic menu | ||||||
| .SH SYNOPSIS | .SH SYNOPSIS | ||||||
| .B dmenu | .B dmenu | ||||||
|  | .RB [ \-font <name> ] | ||||||
|  | .RB [ \-normbg <color> ] | ||||||
|  | .RB [ \-normfg <color> ] | ||||||
|  | .RB [ \-selbg <color> ] | ||||||
|  | .RB [ \-selfg <color> ] | ||||||
|  | .RB [ \-t <seconds> ] | ||||||
| .RB [ \-v ] | .RB [ \-v ] | ||||||
| .SH DESCRIPTION | .SH DESCRIPTION | ||||||
| .SS Overview | .SS Overview | ||||||
| @@ -12,6 +18,24 @@ It manages huge amounts (up to 10.000 and more) of user defined menu items | |||||||
| efficiently. | efficiently. | ||||||
| .SS Options | .SS Options | ||||||
| .TP | .TP | ||||||
|  | .B \-font <name> | ||||||
|  | defines the font. | ||||||
|  | .TP | ||||||
|  | .B \-normbg <color> | ||||||
|  | defines the normal background color (#RGB, #RRGGBB, and color names are supported). | ||||||
|  | .TP | ||||||
|  | .B \-normfg <color> | ||||||
|  | defines the normal foreground color (#RGB, #RRGGBB, and color names are supported). | ||||||
|  | .TP | ||||||
|  | .B \-selbg <color> | ||||||
|  | defines the selected background color (#RGB, #RRGGBB, and color names are supported). | ||||||
|  | .TP | ||||||
|  | .B \-selfg <color> | ||||||
|  | defines the selected foreground color (#RGB, #RRGGBB, and color names are supported). | ||||||
|  | .TP | ||||||
|  | .B \-t <seconds> | ||||||
|  | defines the seconds to wait for standard input, before exiting (default is 3). | ||||||
|  | .TP | ||||||
| .B \-v | .B \-v | ||||||
| prints version information to standard output, then exits. | prints version information to standard output, then exits. | ||||||
| .SH USAGE | .SH USAGE | ||||||
| @@ -52,8 +76,5 @@ Remove enough characters from the input field to change its filtering effect. | |||||||
| .TP | .TP | ||||||
| .B Control-u | .B Control-u | ||||||
| Remove all characters from the input field. | Remove all characters from the input field. | ||||||
| .SH CUSTOMIZATION |  | ||||||
| dmenu is customized by creating a custom config.h and (re)compiling the source |  | ||||||
| code. This keeps it fast, secure and simple. |  | ||||||
| .SH SEE ALSO | .SH SEE ALSO | ||||||
| .BR dwm (1) | .BR dwm (1) | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								dmenu.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								dmenu.h
									
									
									
									
									
								
							| @@ -3,10 +3,14 @@ | |||||||
|  * See LICENSE file for license details. |  * See LICENSE file for license details. | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include "config.h" |  | ||||||
| #include <X11/Xlib.h> | #include <X11/Xlib.h> | ||||||
| #include <X11/Xlocale.h> | #include <X11/Xlocale.h> | ||||||
|  |  | ||||||
|  | #define FONT			"fixed" | ||||||
|  | #define NORMBGCOLOR		"#333366" | ||||||
|  | #define NORMFGCOLOR		"#cccccc" | ||||||
|  | #define SELBGCOLOR		"#666699" | ||||||
|  | #define SELFGCOLOR		"#eeeeee" | ||||||
| #define SPACE		30 /* px */ | #define SPACE		30 /* px */ | ||||||
|  |  | ||||||
| /* color */ | /* color */ | ||||||
|   | |||||||
							
								
								
									
										46
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								main.c
									
									
									
									
									
								
							| @@ -283,19 +283,41 @@ DC dc = {0}; | |||||||
|  |  | ||||||
| int | int | ||||||
| main(int argc, char *argv[]) { | main(int argc, char *argv[]) { | ||||||
|  | 	char *font = FONT; | ||||||
| 	char *maxname; | 	char *maxname; | ||||||
|  | 	char *normbg = NORMBGCOLOR; | ||||||
|  | 	char *normfg = NORMFGCOLOR; | ||||||
|  | 	char *selbg = SELBGCOLOR; | ||||||
|  | 	char *selfg = SELFGCOLOR; | ||||||
| 	fd_set rd; | 	fd_set rd; | ||||||
|  | 	int i; | ||||||
| 	struct timeval timeout; | 	struct timeval timeout; | ||||||
| 	Item *i; | 	Item *itm; | ||||||
| 	XEvent ev; | 	XEvent ev; | ||||||
| 	XSetWindowAttributes wa; | 	XSetWindowAttributes wa; | ||||||
|  |  | ||||||
| 	if(argc == 2 && !strncmp("-v", argv[1], 3)) { | 	timeout.tv_usec = 0; | ||||||
|  | 	timeout.tv_sec = 3; | ||||||
|  | 	/* command line args */ | ||||||
|  | 	for(i = 1; i < argc; i++) | ||||||
|  | 		if(!strncmp(argv[i], "-font", 6)) | ||||||
|  | 			font = argv[++i]; | ||||||
|  | 		else if(!strncmp(argv[i], "-normbg", 8)) | ||||||
|  | 			normbg = argv[++i]; | ||||||
|  | 		else if(!strncmp(argv[i], "-normfg", 8)) | ||||||
|  | 			normfg = argv[++i]; | ||||||
|  | 		else if(!strncmp(argv[i], "-selbg", 7)) | ||||||
|  | 			selbg = argv[++i]; | ||||||
|  | 		else if(!strncmp(argv[i], "-selfg", 7)) | ||||||
|  | 			selfg = argv[++i]; | ||||||
|  | 		else if(!strncmp(argv[i], "-t", 3)) | ||||||
|  | 			timeout.tv_sec = atoi(argv[++i]); | ||||||
|  | 		else if(!strncmp(argv[i], "-v", 3)) { | ||||||
| 			fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout); | 			fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout); | ||||||
| 			exit(EXIT_SUCCESS); | 			exit(EXIT_SUCCESS); | ||||||
| 		} | 		} | ||||||
| 	else if(argc != 1) | 		else | ||||||
| 		eprint("usage: dmenu [-v]\n"); | 			eprint("usage: dmenu [-font <name>] [-{norm,sel}{bg,fg} <color>] [-t <seconds>] [-v]\n", stdout); | ||||||
|  |  | ||||||
| 	dpy = XOpenDisplay(0); | 	dpy = XOpenDisplay(0); | ||||||
| 	if(!dpy) | 	if(!dpy) | ||||||
| @@ -312,8 +334,6 @@ main(int argc, char *argv[]) { | |||||||
| 			 GrabModeAsync, CurrentTime) != GrabSuccess) | 			 GrabModeAsync, CurrentTime) != GrabSuccess) | ||||||
| 		usleep(1000); | 		usleep(1000); | ||||||
|  |  | ||||||
| 	timeout.tv_usec = 0; |  | ||||||
| 	timeout.tv_sec = STDIN_TIMEOUT; |  | ||||||
| 	FD_ZERO(&rd); | 	FD_ZERO(&rd); | ||||||
| 	FD_SET(STDIN_FILENO, &rd); | 	FD_SET(STDIN_FILENO, &rd); | ||||||
| 	if(select(ConnectionNumber(dpy) + 1, &rd, NULL, NULL, &timeout) < 1) | 	if(select(ConnectionNumber(dpy) + 1, &rd, NULL, NULL, &timeout) < 1) | ||||||
| @@ -321,11 +341,11 @@ main(int argc, char *argv[]) { | |||||||
| 	maxname = readstdin(); | 	maxname = readstdin(); | ||||||
|  |  | ||||||
| 	/* style */ | 	/* style */ | ||||||
| 	dc.sel[ColBG] = getcolor(SELBGCOLOR); | 	dc.sel[ColBG] = getcolor(selbg); | ||||||
| 	dc.sel[ColFG] = getcolor(SELFGCOLOR); | 	dc.sel[ColFG] = getcolor(selfg); | ||||||
| 	dc.norm[ColBG] = getcolor(NORMBGCOLOR); | 	dc.norm[ColBG] = getcolor(normbg); | ||||||
| 	dc.norm[ColFG] = getcolor(NORMFGCOLOR); | 	dc.norm[ColFG] = getcolor(normfg); | ||||||
| 	setfont(FONT); | 	setfont(font); | ||||||
|  |  | ||||||
| 	wa.override_redirect = 1; | 	wa.override_redirect = 1; | ||||||
| 	wa.background_pixmap = ParentRelative; | 	wa.background_pixmap = ParentRelative; | ||||||
| @@ -373,10 +393,10 @@ main(int argc, char *argv[]) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	while(allitems) { | 	while(allitems) { | ||||||
| 		i = allitems->next; | 		itm = allitems->next; | ||||||
| 		free(allitems->text); | 		free(allitems->text); | ||||||
| 		free(allitems); | 		free(allitems); | ||||||
| 		allitems = i; | 		allitems = itm; | ||||||
| 	} | 	} | ||||||
| 	if(dc.font.set) | 	if(dc.font.set) | ||||||
| 		XFreeFontSet(dpy, dc.font.set); | 		XFreeFontSet(dpy, dc.font.set); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 arg@mmvi
					arg@mmvi