diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2012-03-20 11:01:01 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2012-03-20 11:01:01 +0000 |
commit | 6cc19c0e25db197e4936c72bccee94fe437fd774 (patch) | |
tree | 3bc3b8a5f842c010724d87cf9f042c1814e37f59 /usr.bin/tmux/tmux.1 | |
parent | c99c9ef7592d38921c978efcf49a95e63665b991 (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 'usr.bin/tmux/tmux.1')
-rw-r--r-- | usr.bin/tmux/tmux.1 | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/usr.bin/tmux/tmux.1 b/usr.bin/tmux/tmux.1 index 1ee48173d69..b532f4f532d 100644 --- a/usr.bin/tmux/tmux.1 +++ b/usr.bin/tmux/tmux.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: tmux.1,v 1.282 2012/03/17 21:40:53 nicm Exp $ +.\" $OpenBSD: tmux.1,v 1.283 2012/03/20 11:01:00 nicm Exp $ .\" .\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> .\" @@ -14,7 +14,7 @@ .\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: March 17 2012 $ +.Dd $Mdocdate: March 20 2012 $ .Dt TMUX 1 .Os .Sh NAME @@ -2463,6 +2463,24 @@ It may be switched off globally with: set-window-option -g automatic-rename off .Ed .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 50 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 |