| 
																	
																	
																	
																 | 
																@ -1,5 +1,4 @@ | 
															
														
														
													
														
															
																 | 
																 | 
																/* See LICENSE file for copyright and license details. */ | 
																 | 
																 | 
																/* See LICENSE file for copyright and license details. */ | 
															
														
														
													
														
															
																 | 
																 | 
																#define _BSD_SOURCE | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																#include <ctype.h> | 
																 | 
																 | 
																#include <ctype.h> | 
															
														
														
													
														
															
																 | 
																 | 
																#include <locale.h> | 
																 | 
																 | 
																#include <locale.h> | 
															
														
														
													
														
															
																 | 
																 | 
																#include <stdarg.h> | 
																 | 
																 | 
																#include <stdarg.h> | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -141,7 +140,7 @@ cistrstr(const char *s, const char *sub) { | 
															
														
														
													
														
															
																 | 
																 | 
																		do { | 
																 | 
																 | 
																		do { | 
															
														
														
													
														
															
																 | 
																 | 
																			do { | 
																 | 
																 | 
																			do { | 
															
														
														
													
														
															
																 | 
																 | 
																				if((csub = *s++) == 0) | 
																 | 
																 | 
																				if((csub = *s++) == 0) | 
															
														
														
													
														
															
																 | 
																 | 
																					return (NULL); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																					return NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																			} | 
																 | 
																 | 
																			} | 
															
														
														
													
														
															
																 | 
																 | 
																			while(tolower(csub) != c); | 
																 | 
																 | 
																			while(tolower(csub) != c); | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																		} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -318,7 +317,7 @@ kpress(XKeyEvent * e) { | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	len = strlen(text); | 
																 | 
																 | 
																	len = strlen(text); | 
															
														
														
													
														
															
																 | 
																 | 
																	buf[0] = 0; | 
																 | 
																 | 
																	buf[0] = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																	num = XLookupString(e, buf, sizeof buf, &ksym, 0); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	num = XLookupString(e, buf, sizeof buf, &ksym, NULL); | 
															
														
														
													
														
															
																 | 
																 | 
																	if(IsKeypadKey(ksym)) { | 
																 | 
																 | 
																	if(IsKeypadKey(ksym)) { | 
															
														
														
													
														
															
																 | 
																 | 
																		if(ksym == XK_KP_Enter) | 
																 | 
																 | 
																		if(ksym == XK_KP_Enter) | 
															
														
														
													
														
															
																 | 
																 | 
																			ksym = XK_Return; | 
																 | 
																 | 
																			ksym = XK_Return; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -534,7 +533,7 @@ readstdin(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																			maxname = p; | 
																 | 
																 | 
																			maxname = p; | 
															
														
														
													
														
															
																 | 
																 | 
																			max = len; | 
																 | 
																 | 
																			max = len; | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																		} | 
															
														
														
													
														
															
																 | 
																 | 
																		if((new = (Item *)malloc(sizeof(Item))) == NULL) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(!(new = (Item *)malloc(sizeof(Item)))) | 
															
														
														
													
														
															
																 | 
																 | 
																			eprint("fatal: could not malloc() %u bytes\n", sizeof(Item)); | 
																 | 
																 | 
																			eprint("fatal: could not malloc() %u bytes\n", sizeof(Item)); | 
															
														
														
													
														
															
																 | 
																 | 
																		new->next = new->left = new->right = NULL; | 
																 | 
																 | 
																		new->next = new->left = new->right = NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																		new->text = p; | 
																 | 
																 | 
																		new->text = p; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -593,7 +592,7 @@ setup(Bool topbar) { | 
															
														
														
													
														
															
																 | 
																 | 
																	initfont(font); | 
																 | 
																 | 
																	initfont(font); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* menu window */ | 
																 | 
																 | 
																	/* menu window */ | 
															
														
														
													
														
															
																 | 
																 | 
																	wa.override_redirect = 1; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	wa.override_redirect = True; | 
															
														
														
													
														
															
																 | 
																 | 
																	wa.background_pixmap = ParentRelative; | 
																 | 
																 | 
																	wa.background_pixmap = ParentRelative; | 
															
														
														
													
														
															
																 | 
																 | 
																	wa.event_mask = ExposureMask | ButtonPressMask | KeyPressMask; | 
																 | 
																 | 
																	wa.event_mask = ExposureMask | ButtonPressMask | KeyPressMask; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -631,7 +630,7 @@ setup(Bool topbar) { | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* pixmap */ | 
																 | 
																 | 
																	/* pixmap */ | 
															
														
														
													
														
															
																 | 
																 | 
																	dc.drawable = XCreatePixmap(dpy, root, mw, mh, DefaultDepth(dpy, screen)); | 
																 | 
																 | 
																	dc.drawable = XCreatePixmap(dpy, root, mw, mh, DefaultDepth(dpy, screen)); | 
															
														
														
													
														
															
																 | 
																 | 
																	dc.gc = XCreateGC(dpy, root, 0, 0); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	dc.gc = XCreateGC(dpy, root, 0, NULL); | 
															
														
														
													
														
															
																 | 
																 | 
																	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); | 
																 | 
																 | 
																	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); | 
															
														
														
													
														
															
																 | 
																 | 
																	if(!dc.font.set) | 
																 | 
																 | 
																	if(!dc.font.set) | 
															
														
														
													
														
															
																 | 
																 | 
																		XSetFont(dpy, dc.gc, dc.font.xfont->fid); | 
																 | 
																 | 
																		XSetFont(dpy, dc.gc, dc.font.xfont->fid); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -702,7 +701,7 @@ main(int argc, char *argv[]) { | 
															
														
														
													
														
															
																 | 
																 | 
																			       "             [-p <prompt>] [-sb <color>] [-sf <color>] [-v]\n"); | 
																 | 
																 | 
																			       "             [-p <prompt>] [-sb <color>] [-sf <color>] [-v]\n"); | 
															
														
														
													
														
															
																 | 
																 | 
																	if(!setlocale(LC_CTYPE, "") || !XSupportsLocale()) | 
																 | 
																 | 
																	if(!setlocale(LC_CTYPE, "") || !XSupportsLocale()) | 
															
														
														
													
														
															
																 | 
																 | 
																		fprintf(stderr, "warning: no locale support\n"); | 
																 | 
																 | 
																		fprintf(stderr, "warning: no locale support\n"); | 
															
														
														
													
														
															
																 | 
																 | 
																	if(!(dpy = XOpenDisplay(0))) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(!(dpy = XOpenDisplay(NULL))) | 
															
														
														
													
														
															
																 | 
																 | 
																		eprint("dmenu: cannot open display\n"); | 
																 | 
																 | 
																		eprint("dmenu: cannot open display\n"); | 
															
														
														
													
														
															
																 | 
																 | 
																	screen = DefaultScreen(dpy); | 
																 | 
																 | 
																	screen = DefaultScreen(dpy); | 
															
														
														
													
														
															
																 | 
																 | 
																	root = RootWindow(dpy, screen); | 
																 | 
																 | 
																	root = RootWindow(dpy, screen); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |