| 
						
						
						
					 | 
				
				 | 
				
					@ -1,7 +1,6 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* See LICENSE file for copyright and license details. */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <ctype.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <locale.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <stdbool.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <stdio.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <stdlib.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <string.h> | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -32,7 +31,7 @@ enum { SchemeNorm, SchemeSel, SchemeOut, SchemeLast }; /* color schemes */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					struct item { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						char *text; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						struct item *left, *right; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						bool out; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int out; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static char text[BUFSIZ] = ""; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -421,7 +420,7 @@ keypress(XKeyEvent *ev) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								exit(0); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (sel) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								sel->out = true; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								sel->out = 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						case XK_Right: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (text[cursor] != '\0') { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -480,7 +479,7 @@ readstdin(void) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								*p = '\0'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (!(items[i].text = strdup(buf))) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								die("cannot strdup %u bytes:", strlen(buf) + 1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							items[i].out = false; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							items[i].out = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (strlen(items[i].text) > max) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								max = strlen(maxstr = items[i].text); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -617,8 +616,7 @@ usage(void) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					int | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					main(int argc, char *argv[]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						bool fast = false; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int i; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int i, fast = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for (i = 1; i < argc; i++) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							/* these options take no arguments */ | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -626,9 +624,9 @@ main(int argc, char *argv[]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								puts("dmenu-"VERSION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								exit(0); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} else if (!strcmp(argv[i], "-b")) /* appears at the bottom of the screen */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								topbar = false; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								topbar = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							else if (!strcmp(argv[i], "-f"))   /* grabs keyboard before reading stdin */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								fast = true; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								fast = 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								fstrncmp = strncasecmp; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								fstrstr = cistrstr; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |