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