Sync OpenBSD patchset 1142:

Clean up and simplify the choose mode code, from Thomas Adam.
This commit is contained in:
Tiago Cunha
2012-07-04 11:01:00 +00:00
parent 9bb97522d5
commit 5761712799
7 changed files with 249 additions and 316 deletions

26
tmux.h
View File

@ -842,6 +842,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;
@ -2117,10 +2133,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 *);