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. --- tmux.1 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tmux.1') diff --git a/tmux.1 b/tmux.1 index 6647abdc..e5b49d04 100644 --- a/tmux.1 +++ b/tmux.1 @@ -2467,6 +2467,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 -- cgit