diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2012-03-20 11:01:00 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2012-03-20 11:01:00 +0000 |
commit | f59971276ac02d8b42ef222509673ff356800f56 (patch) | |
tree | 8454dbd9bed36b33f8867a15c86725b29024adbd /options-table.c | |
parent | bf9e7a1c688eaa48dc2c0900ccd12a06e35c3ae4 (diff) |
Add a simple form of output rate limiting by counting the number of
certain C0 sequences (linefeeds, backspaces, carriage returns) and if it
exceeds a threshold (current default 50/millisecond), start to redraw
the pane every 100 milliseconds instead of making each change as it
comes. Two configuration options - c0-change-trigger and
c0-change-interval.
This makes tmux much more responsive under very fast output (for example
yes(1) or accidentally cat'ing a large file) but may not be perfect on
all terminals and connections - feedback very welcome, particularly
where this change has a negative rather than positive effect (making it
off by default is a possibility).
After much experimentation based originally on a request Robin Lee
Powell (which ended with a completely different solution), this idea
from discussion with Ailin Nemui.
Diffstat (limited to 'options-table.c')
-rw-r--r-- | options-table.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/options-table.c b/options-table.c index fa71f399..9bbcc5d7 100644 --- a/options-table.c +++ b/options-table.c @@ -465,6 +465,21 @@ const struct options_table_entry window_options_table[] = { .default_num = 1 }, + + { .name = "c0-change-trigger", + .type = OPTIONS_TABLE_NUMBER, + .default_num = 50, + .minimum = 0, + .maximum = USHRT_MAX + }, + + { .name = "c0-change-interval", + .type = OPTIONS_TABLE_NUMBER, + .default_num = 100, + .minimum = 1, + .maximum = USHRT_MAX + }, + { .name = "clock-mode-colour", .type = OPTIONS_TABLE_COLOUR, .default_num = 4 |