| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -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)) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		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); | 
																 | 
																 | 
																	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[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.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); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |