summaryrefslogtreecommitdiffstats
path: root/tmux.h
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2012-06-25 14:08:55 +0000
committerNicholas Marriott <nicm@openbsd.org>2012-06-25 14:08:55 +0000
commit5b6f78186c63a19e213eb8597efe69277556e038 (patch)
treef2102439b393498c48c266bfdf25caf36494eab2 /tmux.h
parent39abca401af428b62bdaa0539dcdb6df6bfc2afd (diff)
Clean up and simplify the choose mode code, from Thomas Adam.
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h26
1 files changed, 23 insertions, 3 deletions
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 *);