aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h29
1 files changed, 20 insertions, 9 deletions
diff --git a/tmux.h b/tmux.h
index a152503b..ed93c765 100644
--- a/tmux.h
+++ b/tmux.h
@@ -43,6 +43,7 @@ extern char **environ;
struct args;
struct client;
struct cmdq_item;
+struct cmdq_subitem;
struct cmdq_list;
struct environ;
struct input_ctx;
@@ -1208,6 +1209,19 @@ enum cmdq_type {
CMDQ_CALLBACK,
};
+/* Command queue item shared state. */
+struct cmdq_shared {
+ int references;
+
+ int flags;
+#define CMDQ_SHARED_REPEAT 0x1
+
+ struct format_tree *formats;
+
+ struct mouse_event mouse;
+ struct cmd_find_state current;
+};
+
/* Command queue item. */
typedef enum cmd_retval (*cmdq_cb) (struct cmdq_item *, void *);
struct cmdq_item {
@@ -1223,25 +1237,20 @@ struct cmdq_item {
u_int number;
time_t time;
- struct format_tree *formats;
-
int flags;
#define CMDQ_FIRED 0x1
#define CMDQ_WAITING 0x2
#define CMDQ_NOHOOKS 0x4
+ struct cmdq_shared *shared;
struct cmd_list *cmdlist;
struct cmd *cmd;
- int repeat;
cmdq_cb cb;
void *data;
- struct cmd_find_state current;
struct cmd_state state;
- struct mouse_event mouse;
-
TAILQ_ENTRY(cmdq_item) entry;
};
TAILQ_HEAD(cmdq_list, cmdq_item);
@@ -1398,7 +1407,9 @@ TAILQ_HEAD(clients, client);
struct key_binding {
key_code key;
struct cmd_list *cmdlist;
- int can_repeat;
+
+ int flags;
+#define KEY_BINDING_REPEAT 0x1
RB_ENTRY(key_binding) entry;
};
@@ -1556,7 +1567,7 @@ void printflike(4, 5) hooks_insert(struct hooks *, struct cmdq_item *,
void notify_input(struct window_pane *, struct evbuffer *);
void notify_client(const char *, struct client *);
void notify_session(const char *, struct session *);
-void notify_winlink(const char *, struct session *, struct winlink *);
+void notify_winlink(const char *, struct winlink *);
void notify_session_window(const char *, struct session *, struct window *);
void notify_window(const char *, struct window *);
void notify_pane(const char *, struct window_pane *);
@@ -1740,7 +1751,7 @@ void cmd_find_log_state(const char *, struct cmd_find_state *);
int cmd_find_from_session(struct cmd_find_state *,
struct session *);
int cmd_find_from_winlink(struct cmd_find_state *,
- struct session *, struct winlink *);
+ struct winlink *);
int cmd_find_from_session_window(struct cmd_find_state *,
struct session *, struct window *);
int cmd_find_from_window(struct cmd_find_state *, struct window *);