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 /tty.c | |
parent | bf9e7a1c688eaa48dc2c0900ccd12a06e35c3ae4 (diff) | |
download | rtmux-f59971276ac02d8b42ef222509673ff356800f56.tar.gz rtmux-f59971276ac02d8b42ef222509673ff356800f56.tar.bz2 rtmux-f59971276ac02d8b42ef222509673ff356800f56.zip |
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 'tty.c')
-rw-r--r-- | tty.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -661,7 +661,7 @@ tty_write( if (wp->window->flags & WINDOW_REDRAW || wp->flags & PANE_REDRAW) return; - if (!window_pane_visible(wp)) + if (!window_pane_visible(wp) || wp->flags & PANE_DROP) return; for (i = 0; i < ARRAY_LENGTH(&clients); i++) { |