diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2012-06-25 14:08:55 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2012-06-25 14:08:55 +0000 |
commit | 5b6f78186c63a19e213eb8597efe69277556e038 (patch) | |
tree | f2102439b393498c48c266bfdf25caf36494eab2 /tmux.h | |
parent | 39abca401af428b62bdaa0539dcdb6df6bfc2afd (diff) |
Clean up and simplify the choose mode code, from Thomas Adam.
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 26 |
1 files changed, 23 insertions, 3 deletions
@@ -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 *); |