|  | @ -1,6 +1,7 @@ | 
														
													
														
															
																|  |  | /* See LICENSE file for copyright and license details. */ |  |  | /* See LICENSE file for copyright and license details. */ | 
														
													
														
															
																|  |  | #include <ctype.h> |  |  | #include <ctype.h> | 
														
													
														
															
																|  |  | #include <locale.h> |  |  | #include <locale.h> | 
														
													
														
															
																|  |  |  |  |  | #include <stdbool.h> | 
														
													
														
															
																|  |  | #include <stdio.h> |  |  | #include <stdio.h> | 
														
													
														
															
																|  |  | #include <stdlib.h> |  |  | #include <stdlib.h> | 
														
													
														
															
																|  |  | #include <string.h> |  |  | #include <string.h> | 
														
													
												
													
														
															
																|  | @ -31,7 +32,7 @@ typedef struct Item Item; | 
														
													
														
															
																|  |  | struct Item { |  |  | struct Item { | 
														
													
														
															
																|  |  | char *text; |  |  | char *text; | 
														
													
														
															
																|  |  | Item *left, *right; |  |  | Item *left, *right; | 
														
													
														
															
																|  |  | Bool out; |  |  |  | 
														
													
														
															
																|  |  |  |  |  | bool out; | 
														
													
														
															
																|  |  | }; |  |  | }; | 
														
													
														
															
																|  |  |  |  |  |  | 
														
													
														
															
																|  |  | static void appenditem(Item *item, Item **list, Item **last); |  |  | static void appenditem(Item *item, Item **list, Item **last); | 
														
													
												
													
														
															
																|  | @ -76,7 +77,7 @@ static char *(*fstrstr)(const char *, const char *) = strstr; | 
														
													
														
															
																|  |  |  |  |  |  | 
														
													
														
															
																|  |  | int |  |  | int | 
														
													
														
															
																|  |  | main(int argc, char *argv[]) { |  |  | main(int argc, char *argv[]) { | 
														
													
														
															
																|  |  | Bool fast = False; |  |  |  | 
														
													
														
															
																|  |  |  |  |  | bool fast = false; | 
														
													
														
															
																|  |  | int i; |  |  | int i; | 
														
													
														
															
																|  |  |  |  |  |  | 
														
													
														
															
																|  |  | for(i = 1; i < argc; i++) |  |  | for(i = 1; i < argc; i++) | 
														
													
												
													
														
															
																|  | @ -86,9 +87,9 @@ main(int argc, char *argv[]) { | 
														
													
														
															
																|  |  | exit(0); |  |  | exit(0); | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
														
															
																|  |  | else if(!strcmp(argv[i], "-b"))   /* appears at the bottom of the screen */ |  |  | else if(!strcmp(argv[i], "-b"))   /* appears at the bottom of the screen */ | 
														
													
														
															
																|  |  | topbar = False; |  |  |  | 
														
													
														
															
																|  |  |  |  |  | topbar = false; | 
														
													
														
															
																|  |  | else if(!strcmp(argv[i], "-f"))   /* grabs keyboard before reading stdin */ |  |  | else if(!strcmp(argv[i], "-f"))   /* grabs keyboard before reading stdin */ | 
														
													
														
															
																|  |  | fast = True; |  |  |  | 
														
													
														
															
																|  |  |  |  |  | fast = true; | 
														
													
														
															
																|  |  | else if(!strcmp(argv[i], "-i")) { /* case-insensitive item matching */ |  |  | else if(!strcmp(argv[i], "-i")) { /* case-insensitive item matching */ | 
														
													
														
															
																|  |  | fstrncmp = strncasecmp; |  |  | fstrncmp = strncasecmp; | 
														
													
														
															
																|  |  | fstrstr = cistrstr; |  |  | fstrstr = cistrstr; | 
														
													
												
													
														
															
																|  | @ -203,7 +204,7 @@ drawmenu(void) { | 
														
													
														
															
																|  |  | int x = 0, y = 0, h = bh, w; |  |  | int x = 0, y = 0, h = bh, w; | 
														
													
														
															
																|  |  |  |  |  |  | 
														
													
														
															
																|  |  | drw_setscheme(drw, &scheme[SchemeNorm]); |  |  | drw_setscheme(drw, &scheme[SchemeNorm]); | 
														
													
														
															
																|  |  | drw_rect(drw, 0, 0, mw, mh, True, 1, 1); |  |  |  | 
														
													
														
															
																|  |  |  |  |  | drw_rect(drw, 0, 0, mw, mh, 1, 1, 1); | 
														
													
														
															
																|  |  |  |  |  |  | 
														
													
														
															
																|  |  | if(prompt && *prompt) { |  |  | if(prompt && *prompt) { | 
														
													
														
															
																|  |  | drw_setscheme(drw, &scheme[SchemeSel]); |  |  | drw_setscheme(drw, &scheme[SchemeSel]); | 
														
													
												
													
														
															
																|  | @ -432,7 +433,7 @@ keypress(XKeyEvent *ev) { | 
														
													
														
															
																|  |  | exit(0); |  |  | exit(0); | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
														
															
																|  |  | if(sel) |  |  | if(sel) | 
														
													
														
															
																|  |  | sel->out = True; |  |  |  | 
														
													
														
															
																|  |  |  |  |  | sel->out = true; | 
														
													
														
															
																|  |  | break; |  |  | break; | 
														
													
														
															
																|  |  | case XK_Right: |  |  | case XK_Right: | 
														
													
														
															
																|  |  | if(text[cursor] != '\0') { |  |  | if(text[cursor] != '\0') { | 
														
													
												
													
														
															
																|  | @ -552,7 +553,7 @@ readstdin(void) { | 
														
													
														
															
																|  |  | *p = '\0'; |  |  | *p = '\0'; | 
														
													
														
															
																|  |  | if(!(items[i].text = strdup(buf))) |  |  | if(!(items[i].text = strdup(buf))) | 
														
													
														
															
																|  |  | die("cannot strdup %u bytes:", strlen(buf)+1); |  |  | die("cannot strdup %u bytes:", strlen(buf)+1); | 
														
													
														
															
																|  |  | items[i].out = False; |  |  |  | 
														
													
														
															
																|  |  |  |  |  | items[i].out = false; | 
														
													
														
															
																|  |  | if(strlen(items[i].text) > max) |  |  | if(strlen(items[i].text) > max) | 
														
													
														
															
																|  |  | max = strlen(maxstr = items[i].text); |  |  | max = strlen(maxstr = items[i].text); | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
												
													
														
															
																|  | 
 |