diff options
author | Tiago Cunha <tcunha@gmx.com> | 2009-12-16 01:09:01 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2009-12-16 01:09:01 +0000 |
commit | 90d40e27daaf2d2e5e0ebeffa8b5865d9536df80 (patch) | |
tree | 2fcf5ab6827af7a4dd9a03db57200cb2f0f325b5 | |
parent | ef3e483a0d84d3e38be032256c5e0f69dba77f75 (diff) | |
download | rtmux-90d40e27daaf2d2e5e0ebeffa8b5865d9536df80.tar.gz rtmux-90d40e27daaf2d2e5e0ebeffa8b5865d9536df80.tar.bz2 rtmux-90d40e27daaf2d2e5e0ebeffa8b5865d9536df80.zip |
Sync OpenBSD patchset 587:
New server option, escape-time, to set the timeout used to detect if escapes
are alone or part of a function key or meta sequence.
-rw-r--r-- | cmd-set-option.c | 3 | ||||
-rw-r--r-- | tmux.1 | 14 | ||||
-rw-r--r-- | tmux.c | 3 | ||||
-rw-r--r-- | tmux.h | 7 | ||||
-rw-r--r-- | tty-keys.c | 9 |
5 files changed, 21 insertions, 15 deletions
diff --git a/cmd-set-option.c b/cmd-set-option.c index ff578542..d7ec75db 100644 --- a/cmd-set-option.c +++ b/cmd-set-option.c @@ -1,4 +1,4 @@ -/* $Id: cmd-set-option.c,v 1.91 2009-12-12 01:01:11 tcunha Exp $ */ +/* $Id: cmd-set-option.c,v 1.92 2009-12-16 01:09:01 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -74,6 +74,7 @@ const char *set_option_bell_action_list[] = { }; const struct set_option_entry set_option_table[] = { + { "escape-time", SET_OPTION_NUMBER, 0, INT_MAX, NULL }, { "quiet", SET_OPTION_FLAG, 0, 0, NULL }, { NULL, 0, 0, 0, NULL } }; @@ -1,4 +1,4 @@ -.\" $Id: tmux.1,v 1.215 2009-12-10 16:59:02 tcunha Exp $ +.\" $Id: tmux.1,v 1.216 2009-12-16 01:09:01 tcunha 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: December 10 2009 $ +.Dd $Mdocdate: December 14 2009 $ .Dt TMUX 1 .Os .Sh NAME @@ -1288,8 +1288,14 @@ Available window options are listed under .Pp Available server options are: .Bl -tag -width Ds +.It Ic escape-time +Set the time in milliseconds for which +.Nm +waits after an escape is input to determine if it is part of a function or meta +key sequences. +The default is 500 milliseconds. .It Ic quiet -Enable of disable the display of various informational messages (see also the +Enable or disable the display of various informational messages (see also the .Fl q command line flag). .El @@ -1884,7 +1890,7 @@ The default is off. Show the window options with .Fl w (equivalent to -.Ic show-window-options ), +.Ic show-window-options ) , the server options with .Fl s , otherwise the session options for @@ -1,4 +1,4 @@ -/* $Id: tmux.c,v 1.195 2009-12-12 01:01:11 tcunha Exp $ */ +/* $Id: tmux.c,v 1.196 2009-12-16 01:09:01 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -320,6 +320,7 @@ main(int argc, char **argv) options_init(&global_options, NULL); oo = &global_options; options_set_number(oo, "quiet", quiet); + options_set_number(oo, "escape-time", 500); options_init(&global_s_options, NULL); so = &global_s_options; @@ -1,4 +1,4 @@ -/* $Id: tmux.h,v 1.532 2009-12-10 16:59:02 tcunha Exp $ */ +/* $Id: tmux.h,v 1.533 2009-12-16 01:09:01 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -49,7 +49,7 @@ extern char **environ; /* Default prompt history length. */ #define PROMPT_HISTORY 100 -/* +/* * Minimum layout cell size, NOT including separator line. The scroll region * cannot be one line in height so this must be at least two. */ @@ -58,9 +58,6 @@ extern char **environ; /* Automatic name refresh interval, in milliseconds. */ #define NAME_INTERVAL 500 -/* Escape timer period, in milliseconds. */ -#define ESCAPE_PERIOD 500 - /* Maximum data to buffer for output before suspending reading from panes. */ #define BACKOFF_THRESHOLD 1024 @@ -1,4 +1,4 @@ -/* $Id: tty-keys.c,v 1.53 2009-12-04 22:14:47 tcunha Exp $ */ +/* $Id: tty-keys.c,v 1.54 2009-12-16 01:09:01 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -429,7 +429,7 @@ tty_keys_next(struct tty *tty) const char *buf; size_t len, size; cc_t bspace; - int key; + int key, delay; buf = EVBUFFER_DATA(tty->event->input); len = EVBUFFER_LENGTH(tty->event->input); @@ -521,8 +521,9 @@ partial_key: start_timer: /* Start the timer and wait for expiry or more data. */ - tv.tv_sec = 0; - tv.tv_usec = ESCAPE_PERIOD * 1000L; + delay = options_get_number(&global_options, "escape-time"); + tv.tv_sec = delay / 1000; + tv.tv_usec = (delay % 1000) * 1000L; evtimer_del(&tty->key_timer); evtimer_set(&tty->key_timer, tty_keys_callback, tty); |