wmenu

wmenu fork with my settings
git clone https://git.awy.one/wmenu.git
Log | Files | Refs | README | LICENSE

wmenu.c (670B)


      1 #define _POSIX_C_SOURCE 200809L
      2 
      3 #include <stdio.h>
      4 #include <string.h>
      5 
      6 #include "menu.h"
      7 #include "wayland.h"
      8 
      9 static void read_items(struct menu *menu) {
     10 	char buf[sizeof menu->input];
     11 	while (fgets(buf, sizeof buf, stdin)) {
     12 		char *p = strchr(buf, '\n');
     13 		if (p) {
     14 			*p = '\0';
     15 		}
     16 		menu_add_item(menu, strdup(buf));
     17 	}
     18 }
     19 
     20 static void print_item(struct menu *menu, char *text, bool exit) {
     21 	puts(text);
     22 	fflush(stdout);
     23 	if (exit) {
     24 		menu->exit = true;
     25 	}
     26 }
     27 
     28 int main(int argc, char *argv[]) {
     29 	struct menu *menu = menu_create(print_item);
     30 	menu_getopts(menu, argc, argv);
     31 	read_items(menu);
     32 	int status = menu_run(menu);
     33 	menu_destroy(menu);
     34 	return status;
     35 }