wmenu.c - wmenu - [fork] efficient dynamic menu for wayland
(HTM) git clone https://git.drkhsh.at/wmenu.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) 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 }