Remove the c0-* options which never really worked satisfactorily. Going

to try something else...
pull/1/head
nicm 2015-05-11 10:10:16 +00:00
parent 92faa2eaeb
commit 44364d7112
4 changed files with 3 additions and 76 deletions

16
input.c
View File

@ -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;
@ -1113,15 +1112,6 @@ input_c0_dispatch(struct input_ctx *ictx)
break;
}
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);
}

18
tmux.1
View File

@ -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

5
tmux.h
View File

@ -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 **);

View File

@ -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);
@ -877,42 +873,6 @@ window_pane_spawn(struct window_pane *wp, int argc, char **argv,
return (0);
}
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)
{