| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -54,6 +54,7 @@ static Item *matches, *matchend; | 
															
														
														
													
														
															
																 | 
																 | 
																static Item *prev, *curr, *next, *sel; | 
																 | 
																 | 
																static Item *prev, *curr, *next, *sel; | 
															
														
														
													
														
															
																 | 
																 | 
																static Window win; | 
																 | 
																 | 
																static Window win; | 
															
														
														
													
														
															
																 | 
																 | 
																static XIC xic; | 
																 | 
																 | 
																static XIC xic; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static int mon = -1; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																#include "config.h" | 
																 | 
																 | 
																#include "config.h" | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -84,6 +85,8 @@ main(int argc, char *argv[]) { | 
															
														
														
													
														
															
																 | 
																 | 
																		/* these options take one argument */ | 
																 | 
																 | 
																		/* these options take one argument */ | 
															
														
														
													
														
															
																 | 
																 | 
																		else if(!strcmp(argv[i], "-l"))   /* number of lines in vertical list */ | 
																 | 
																 | 
																		else if(!strcmp(argv[i], "-l"))   /* number of lines in vertical list */ | 
															
														
														
													
														
															
																 | 
																 | 
																			lines = atoi(argv[++i]); | 
																 | 
																 | 
																			lines = atoi(argv[++i]); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		else if(!strcmp(argv[i], "-m")) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			mon = atoi(argv[++i]); | 
															
														
														
													
														
															
																 | 
																 | 
																		else if(!strcmp(argv[i], "-p"))   /* adds prompt to left of input field */ | 
																 | 
																 | 
																		else if(!strcmp(argv[i], "-p"))   /* adds prompt to left of input field */ | 
															
														
														
													
														
															
																 | 
																 | 
																			prompt = argv[++i]; | 
																 | 
																 | 
																			prompt = argv[++i]; | 
															
														
														
													
														
															
																 | 
																 | 
																		else if(!strcmp(argv[i], "-fn"))  /* font or font set */ | 
																 | 
																 | 
																		else if(!strcmp(argv[i], "-fn"))  /* font or font set */ | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -557,7 +560,9 @@ setup(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																		XWindowAttributes wa; | 
																 | 
																 | 
																		XWindowAttributes wa; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																		XGetInputFocus(dc->dpy, &w, &di); | 
																 | 
																 | 
																		XGetInputFocus(dc->dpy, &w, &di); | 
															
														
														
													
														
															
																 | 
																 | 
																		if(w != root && w != PointerRoot && w != None) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(mon != -1 && mon < n) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			i = mon; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(!i && w != root && w != PointerRoot && w != None) { | 
															
														
														
													
														
															
																 | 
																 | 
																			/* find top-level window containing current input focus */ | 
																 | 
																 | 
																			/* find top-level window containing current input focus */ | 
															
														
														
													
														
															
																 | 
																 | 
																			do { | 
																 | 
																 | 
																			do { | 
															
														
														
													
														
															
																 | 
																 | 
																				if(XQueryTree(dc->dpy, (pw = w), &dw, &w, &dws, &du) && dws) | 
																 | 
																 | 
																				if(XQueryTree(dc->dpy, (pw = w), &dw, &w, &dws, &du) && dws) | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -572,7 +577,7 @@ setup(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																					} | 
																 | 
																 | 
																					} | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																		} | 
															
														
														
													
														
															
																 | 
																 | 
																		/* no focused window is on screen, so use pointer location instead */ | 
																 | 
																 | 
																		/* no focused window is on screen, so use pointer location instead */ | 
															
														
														
													
														
															
																 | 
																 | 
																		if(!area && XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du)) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(mon == -1 && !area && XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du)) | 
															
														
														
													
														
															
																 | 
																 | 
																			for(i = 0; i < n; i++) | 
																 | 
																 | 
																			for(i = 0; i < n; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																				if(INTERSECT(x, y, 1, 1, info[i])) | 
																 | 
																 | 
																				if(INTERSECT(x, y, 1, 1, info[i])) | 
															
														
														
													
														
															
																 | 
																 | 
																					break; | 
																 | 
																 | 
																					break; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -614,7 +619,7 @@ setup(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																usage(void) { | 
																 | 
																 | 
																usage(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																	fputs("usage: dmenu [-b] [-f] [-i] [-l lines] [-p prompt] [-fn font]\n" | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	fputs("usage: dmenu [-b] [-f] [-i] [-l lines] [-p prompt] [-fn font] [-m monitor]\n" | 
															
														
														
													
														
															
																 | 
																 | 
																	      "             [-nb color] [-nf color] [-sb color] [-sf color] [-v]\n", stderr); | 
																 | 
																 | 
																	      "             [-nb color] [-nf color] [-sb color] [-sf color] [-v]\n", stderr); | 
															
														
														
													
														
															
																 | 
																 | 
																	exit(EXIT_FAILURE); | 
																 | 
																 | 
																	exit(EXIT_FAILURE); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} |