aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--input.c16
-rw-r--r--tmux.118
-rw-r--r--tmux.h5
-rw-r--r--window.c40
4 files changed, 3 insertions, 76 deletions
diff --git a/input.c b/input.c
index 384ab45d..886d561d 100644
--- a/input.c
+++ b/input.c
@@ -1069,7 +1069,6 @@ input_c0_dispatch(struct input_ctx *ictx)
struct screen_write_ctx *sctx = &ictx->ctx;
struct window_pane *wp = ictx->wp;
struct screen *s = sctx->s;
- u_int trigger;
log_debug("%s: '%c", __func__, ictx->ch);
@@ -1081,7 +1080,7 @@ input_c0_dispatch(struct input_ctx *ictx)
break;
case '\010': /* BS */
screen_write_backspace(sctx);
- goto count_c0;
+ break;
case '\011': /* HT */
/* Don't tab beyond the end of the line. */
if (s->cx >= screen_size_x(s) - 1)
@@ -1098,10 +1097,10 @@ input_c0_dispatch(struct input_ctx *ictx)
case '\013': /* VT */
case '\014': /* FF */
screen_write_linefeed(sctx, 0);
- goto count_c0;
+ break;
case '\015': /* CR */
screen_write_carriagereturn(sctx);
- goto count_c0;
+ break;
case '\016': /* SO */
ictx->cell.set = 1;
break;
@@ -1114,15 +1113,6 @@ input_c0_dispatch(struct input_ctx *ictx)
}
return (0);
-
-count_c0:
- trigger = options_get_number(&wp->window->options, "c0-change-trigger");
- if (trigger != 0 && ++wp->changes >= trigger) {
- wp->flags |= PANE_DROP;
- window_pane_timer_start(wp);
- }
-
- return (0);
}
/* Execute escape sequence. */
diff --git a/tmux.1 b/tmux.1
index 9debeaf4..79dfa4b4 100644
--- a/tmux.1
+++ b/tmux.1
@@ -2886,24 +2886,6 @@ used when the
.Ic automatic-rename
option is enabled.
.Pp
-.It Ic c0-change-interval Ar interval
-.It Ic c0-change-trigger Ar trigger
-These two options configure a simple form of rate limiting for a pane.
-If
-.Nm
-sees more than
-.Ar trigger
-C0 sequences that modify the screen (for example, carriage returns, linefeeds
-or backspaces) in one millisecond, it will stop updating the pane immediately and
-instead redraw it entirely every
-.Ar interval
-milliseconds.
-This helps to prevent fast output (such as
-.Xr yes 1 )
-overwhelming the terminal.
-The default is a trigger of 250 and an interval of 100.
-A trigger of zero disables the rate limiting.
-.Pp
.It Ic clock-mode-colour Ar colour
Set clock colour.
.Pp
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 **);
diff --git a/window.c b/window.c
index 8366833a..7edfed42 100644
--- a/window.c
+++ b/window.c
@@ -58,7 +58,6 @@ u_int next_window_pane_id;
u_int next_window_id;
u_int next_active_point;
-void window_pane_timer_callback(int, short, void *);
void window_pane_read_callback(struct bufferevent *, void *);
void window_pane_error_callback(struct bufferevent *, short, void *);
@@ -741,9 +740,6 @@ window_pane_destroy(struct window_pane *wp)
{
window_pane_reset_mode(wp);
- if (event_initialized(&wp->changes_timer))
- evtimer_del(&wp->changes_timer);
-
if (wp->fd != -1) {
bufferevent_free(wp->event);
close(wp->fd);
@@ -878,42 +874,6 @@ window_pane_spawn(struct window_pane *wp, int argc, char **argv,
}
void
-window_pane_timer_start(struct window_pane *wp)
-{
- struct timeval tv;
-
- tv.tv_sec = 0;
- tv.tv_usec = 1000;
-
- evtimer_del(&wp->changes_timer);
- evtimer_set(&wp->changes_timer, window_pane_timer_callback, wp);
- evtimer_add(&wp->changes_timer, &tv);
-}
-
-void
-window_pane_timer_callback(unused int fd, unused short events, void *data)
-{
- struct window_pane *wp = data;
- struct window *w = wp->window;
- u_int interval, trigger;
-
- interval = options_get_number(&w->options, "c0-change-interval");
- trigger = options_get_number(&w->options, "c0-change-trigger");
-
- if (wp->changes_redraw++ == interval) {
- wp->flags |= PANE_REDRAW;
- wp->changes_redraw = 0;
- }
-
- if (trigger == 0 || wp->changes < trigger) {
- wp->flags |= PANE_REDRAW;
- wp->flags &= ~PANE_DROP;
- } else
- window_pane_timer_start(wp);
- wp->changes = 0;
-}
-
-void
window_pane_read_callback(unused struct bufferevent *bufev, void *data)
{
struct window_pane *wp = data;