aboutsummaryrefslogtreecommitdiff
path: root/menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'menu.h')
-rw-r--r--menu.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/menu.h b/menu.h
index 724aa53..261c2f2 100644
--- a/menu.h
+++ b/menu.h
@@ -6,6 +6,9 @@
#include <xkbcommon/xkbcommon.h>
#include <wayland-client.h>
+struct menu;
+typedef void (*menu_callback)(struct menu *menu, char *text, bool exit);
+
// A menu item.
struct item {
char *text;
@@ -68,12 +71,12 @@ struct menu {
struct item *sel; // selected item
struct page *pages; // list of pages
- void (*callback)(struct menu *menu);
+ menu_callback callback;
bool exit;
bool failure;
};
-struct menu *menu_create();
+struct menu *menu_create(menu_callback callback);
void menu_destroy(struct menu *menu);
void menu_getopts(struct menu *menu, int argc, char *argv[]);
void menu_add_item(struct menu *menu, char *text, bool sort);