aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/tmux.h b/tmux.h
index 7bff1a1a..757e7673 100644
--- a/tmux.h
+++ b/tmux.h
@@ -748,20 +748,20 @@ struct screen_redraw_ctx {
#define screen_hsize(s) ((s)->grid->hsize)
#define screen_hlimit(s) ((s)->grid->hlimit)
-/* Menu item. */
+/* Menu. */
struct menu_item {
- char *name;
- char *command;
- key_code key;
+ char *name;
+ char *command;
+ key_code key;
};
-
-/* Menu. */
struct menu {
char *title;
struct menu_item *items;
u_int count;
u_int width;
};
+typedef void (*menu_choice_cb)(struct menu *, u_int, key_code, void *);
+#define MENU_NOMOUSE 0x1
/*
* Window mode. Windows can be in several modes and this is used to call the
@@ -2550,6 +2550,16 @@ void printflike(1, 2) log_debug(const char *, ...);
__dead void printflike(1, 2) fatal(const char *, ...);
__dead void printflike(1, 2) fatalx(const char *, ...);
+/* menu.c */
+struct menu *menu_create_from_items(struct menu_item *, u_int,
+ struct client *, struct cmd_find_state *, const char *);
+struct menu *menu_create_from_string(const char *, struct client *,
+ struct cmd_find_state *, const char *);
+void menu_free(struct menu *);
+int menu_display(struct menu *, int, struct cmdq_item *, u_int,
+ u_int, struct client *, struct cmd_find_state *,
+ menu_choice_cb, void *);
+
/* style.c */
int style_parse(struct style *,const struct grid_cell *,
const char *);