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 }