diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-12-08 07:11:09 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-12-08 07:11:09 +0000 |
commit | 5862f59ed7c54959af6d112a647ae3c273579b77 (patch) | |
tree | 4cba465137c22437f602775f100d22b9ea9794cd /tmux.h | |
parent | 98994a8bb1ca7602f16a5de0d4482efd299f5d7b (diff) | |
parent | d2fb0efcd197bf0d581a0f7b1e27223d095cb339 (diff) | |
download | rtmux-5862f59ed7c54959af6d112a647ae3c273579b77.tar.gz rtmux-5862f59ed7c54959af6d112a647ae3c273579b77.tar.bz2 rtmux-5862f59ed7c54959af6d112a647ae3c273579b77.zip |
Conflicts:
Makefile
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 31 |
1 files changed, 27 insertions, 4 deletions
@@ -693,6 +693,14 @@ struct grid { struct grid_line *linedata; }; +/* Hook data structures. */ +struct hook { + const char *name; + struct cmd_q *cmdq; + struct cmd_list *cmdlist; + RB_ENTRY(hook) entry; +}; + /* Option data structures. */ struct options_entry { char *name; @@ -1013,6 +1021,7 @@ struct session { struct winlink_stack lastw; struct winlinks windows; + struct hooks *hooks; struct options *options; #define SESSION_UNATTACHED 0x1 /* not attached to any clients */ @@ -1429,10 +1438,11 @@ struct options_table_entry { #define CMD_BUFFER_USAGE "[-b buffer-name]" /* tmux.c */ -extern struct options *global_options; -extern struct options *global_s_options; -extern struct options *global_w_options; -extern struct environ *global_environ; +extern struct hooks *global_hooks; +extern struct options *global_options; +extern struct options *global_s_options; +extern struct options *global_w_options; +extern struct environ *global_environ; extern struct timeval start_time; extern const char *socket_path; const char *getshell(void); @@ -1497,6 +1507,18 @@ void format_defaults_pane(struct format_tree *, void format_defaults_paste_buffer(struct format_tree *, struct paste_buffer *); +/* hooks.c */ +struct hook; +struct hooks *hooks_create(struct hooks *); +void hooks_free(struct hooks *); +struct hook *hooks_first(struct hooks *); +struct hook *hooks_next(struct hook *); +void hooks_add(struct hooks *, const char *, struct cmd_list *); +void hooks_copy(struct hooks *, struct hooks *); +void hooks_remove(struct hooks *, struct hook *); +struct hook *hooks_find(struct hooks *, const char *); +void hooks_run(struct hooks *, const char *, struct client *); + /* mode-key.c */ extern const struct mode_key_table mode_key_tables[]; extern struct mode_key_tree mode_key_tree_vi_edit; @@ -1784,6 +1806,7 @@ void server_client_create(int); int server_client_open(struct client *, char **); void server_client_unref(struct client *); void server_client_lost(struct client *); +void server_client_detach(struct client *, enum msgtype); void server_client_loop(void); void server_client_push_stdout(struct client *); void server_client_push_stderr(struct client *); |