diff options
author | nicm <nicm> | 2019-05-10 18:04:06 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-05-10 18:04:06 +0000 |
commit | 6dcca5fda4b21cb1903204d6945bd7b418858afd (patch) | |
tree | e16ce1b9e2b36df1cdd8eca9cbaa447d68a5d030 /tmux.h | |
parent | 004a9b52f0389700194d2789674a1fda90409438 (diff) |
Add support for simple menus usable with mouse or keyboard. New command
display-menu shows a menu (bound to the mouse on status line by default)
and a couple of extra formats for the default menus.
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 22 |
1 files changed, 16 insertions, 6 deletions
@@ -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 *); |