From 44364d7112037bebb0bb1d20f72b12b1f736fa95 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 11 May 2015 10:10:16 +0000 Subject: Remove the c0-* options which never really worked satisfactorily. Going to try something else... --- tmux.h | 5 ----- 1 file changed, 5 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 6d4e29fd..ccbdb763 100644 --- a/tmux.h +++ b/tmux.h @@ -844,10 +844,6 @@ struct window_pane { char tty[TTY_NAME_MAX]; int status; - u_int changes; - struct event changes_timer; - u_int changes_redraw; - int fd; struct bufferevent *event; @@ -2107,7 +2103,6 @@ struct window_pane *window_pane_find_by_id_str(const char *); struct window_pane *window_pane_find_by_id(u_int); struct window_pane *window_pane_create(struct window *, u_int, u_int, u_int); void window_pane_destroy(struct window_pane *); -void window_pane_timer_start(struct window_pane *); int window_pane_spawn(struct window_pane *, int, char **, const char *, const char *, int, struct environ *, struct termios *, char **); -- cgit From e958db09a72c2308d3edc8384be02714eb068ae7 Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 12 May 2015 15:27:46 +0000 Subject: Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ. --- tmux.h | 1 + 1 file changed, 1 insertion(+) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index ccbdb763..f7c44b20 100644 --- a/tmux.h +++ b/tmux.h @@ -75,6 +75,7 @@ extern char **environ; #define BELL_NONE 0 #define BELL_ANY 1 #define BELL_CURRENT 2 +#define BELL_OTHER 3 /* Special key codes. */ #define KEYC_NONE 0xfff -- cgit From 3f4ee98162cd5bb7000f93fec0e631e123b1281d Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 12 May 2015 22:40:38 +0000 Subject: To replace c0-*, add a high watermark to the pty event, and also backoff when the any of the ttys the pane is going to write to has buffered enough data. --- tmux.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index f7c44b20..bc47a268 100644 --- a/tmux.h +++ b/tmux.h @@ -56,6 +56,16 @@ extern char **environ; */ #define UTF8_SIZE 9 +/* + * READ_SIZE is the maximum size of data to hold from a pty (the event high + * watermark). READ_BACKOFF is the amount of data waiting to be output to a tty + * before pty reads will be backed off. READ_TIME is how long to back off + * before the next read (in microseconds) if a tty is above READ_BACKOFF. + */ +#define READ_SIZE 1024 +#define READ_BACKOFF 512 +#define READ_TIME 100 + /* Fatal errors. */ #define fatal(msg) log_fatal("%s: %s", __func__, msg); #define fatalx(msg) log_fatalx("%s: %s", __func__, msg); @@ -847,6 +857,7 @@ struct window_pane { int fd; struct bufferevent *event; + struct event timer; struct input_ctx *ictx; @@ -1595,8 +1606,9 @@ void tty_draw_line(struct tty *, const struct window_pane *, struct screen *, int tty_open(struct tty *, char **); void tty_close(struct tty *); void tty_free(struct tty *); -void tty_write( - void (*)(struct tty *, const struct tty_ctx *), struct tty_ctx *); +void tty_write(void (*)(struct tty *, const struct tty_ctx *), + struct tty_ctx *); +int tty_client_ready(struct client *, struct window_pane *wp); void tty_cmd_alignmenttest(struct tty *, const struct tty_ctx *); void tty_cmd_cell(struct tty *, const struct tty_ctx *); void tty_cmd_clearendofline(struct tty *, const struct tty_ctx *); -- cgit