From 5b6f78186c63a19e213eb8597efe69277556e038 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 25 Jun 2012 14:08:55 +0000 Subject: Clean up and simplify the choose mode code, from Thomas Adam. --- tmux.h | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 891b8e3c..a27b56ad 100644 --- a/tmux.h +++ b/tmux.h @@ -846,6 +846,22 @@ struct window_mode { void (*timer)(struct window_pane *); }; +/* Structures for choose mode. */ +struct window_choose_data { + struct client *client; + struct session *session; + struct format_tree *ft; + char *ft_template; + char *raw_format; + char *action; + u_int idx; +}; + +struct window_choose_mode_item { + struct window_choose_data *wcd; + char *name; +}; + /* Child window structure. */ struct window_pane { u_int id; @@ -2121,10 +2137,14 @@ void window_copy_pageup(struct window_pane *); extern const struct window_mode window_choose_mode; void window_choose_vadd( struct window_pane *, int, const char *, va_list); -void printflike3 window_choose_add( - struct window_pane *, int, const char *, ...); +void window_choose_add(struct window_pane *, + struct window_choose_data *); void window_choose_ready(struct window_pane *, - u_int, void (*)(void *, int), void (*)(void *), void *); + u_int, void (*)(struct window_choose_data *), + void (*)(struct window_choose_data *)); +struct window_choose_data *window_choose_data_create( + struct cmd_ctx *); +void window_choose_ctx(struct window_choose_data *); /* names.c */ void queue_window_name(struct window *); -- cgit