diff options
author | nicm <nicm> | 2020-06-05 07:33:57 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-06-05 07:33:57 +0000 |
commit | c586208991e4291450757e3a19739f368aecbe5d (patch) | |
tree | 1fd2a4d7c912879f02e1b43367825670e0538800 /tmux.h | |
parent | d9cd493d093f14b934343a2e57998c86fbca2ef7 (diff) | |
download | rtmux-c586208991e4291450757e3a19739f368aecbe5d.tar.gz rtmux-c586208991e4291450757e3a19739f368aecbe5d.tar.bz2 rtmux-c586208991e4291450757e3a19739f368aecbe5d.zip |
Add support for pausing a pane when the output buffered for a control
mode client gets too far behind. The pause-after flag with a time is set
on the pane with refresh-client -f and a paused pane may be resumed with
refresh-client -A. GitHub issue 2217.
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -1575,7 +1575,9 @@ struct client { struct cmdq_list *queue; struct client_windows windows; + struct control_state *control_state; + u_int pause_age; pid_t pid; int fd; @@ -1643,6 +1645,7 @@ struct client { #define CLIENT_REDRAWPANES 0x20000000 #define CLIENT_NOFORK 0x40000000 #define CLIENT_ACTIVEPANE 0x80000000ULL +#define CLIENT_CONTROL_PAUSEAFTER 0x100000000ULL #define CLIENT_ALLREDRAWFLAGS \ (CLIENT_REDRAWWINDOW| \ CLIENT_REDRAWSTATUS| \ @@ -2449,8 +2452,9 @@ void status_prompt_save_history(void); void resize_window(struct window *, u_int, u_int, int, int); void default_window_size(struct client *, struct session *, struct window *, u_int *, u_int *, u_int *, u_int *, int); -void recalculate_size(struct window *); +void recalculate_size(struct window *, int); void recalculate_sizes(void); +void recalculate_sizes_now(int); /* input.c */ struct input_ctx *input_init(struct window_pane *, struct bufferevent *); @@ -2837,11 +2841,12 @@ char *default_window_name(struct window *); char *parse_window_name(const char *); /* control.c */ -void control_flush(struct client *); +void control_discard(struct client *); void control_start(struct client *); void control_stop(struct client *); void control_set_pane_on(struct client *, struct window_pane *); void control_set_pane_off(struct client *, struct window_pane *); +void control_continue_pane(struct client *, struct window_pane *); struct window_pane_offset *control_pane_offset(struct client *, struct window_pane *, int *); void control_reset_offsets(struct client *); |