From f9f6eea4441bb62634b35d17ded3b4c7d460dea6 Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Thu, 29 Mar 2012 21:05:16 +0000 Subject: Sync OpenBSD patchset 1072: 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. --- options-table.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'options-table.c') diff --git a/options-table.c b/options-table.c index 86610b98..6f868e58 100644 --- a/options-table.c +++ b/options-table.c @@ -464,6 +464,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 -- cgit