mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 23:38:48 +00:00
Add an "always" value to the extended-keys option to always forward
these keys to applications inside tmux.
This commit is contained in:
parent
1ee231956c
commit
64c276c23b
2
input.c
2
input.c
@ -1390,6 +1390,8 @@ input_csi_dispatch(struct input_ctx *ictx)
|
||||
case INPUT_CSI_MODSET:
|
||||
n = input_get(ictx, 0, 0, 0);
|
||||
m = input_get(ictx, 1, 0, 0);
|
||||
if (options_get_number(global_options, "extended-keys") == 2)
|
||||
break;
|
||||
if (n == 0 || (n == 4 && m == 0))
|
||||
screen_write_mode_clear(sctx, MODE_KEXTENDED);
|
||||
else if (n == 4 && (m == 1 || m == 2))
|
||||
|
@ -75,6 +75,9 @@ static const char *options_table_remain_on_exit_list[] = {
|
||||
static const char *options_table_detach_on_destroy_list[] = {
|
||||
"off", "on", "no-detached", NULL
|
||||
};
|
||||
static const char *options_table_extended_keys_list[] = {
|
||||
"off", "on", "always", NULL
|
||||
};
|
||||
|
||||
/* Status line format. */
|
||||
#define OPTIONS_TABLE_STATUS_FORMAT1 \
|
||||
@ -267,8 +270,9 @@ const struct options_table_entry options_table[] = {
|
||||
},
|
||||
|
||||
{ .name = "extended-keys",
|
||||
.type = OPTIONS_TABLE_FLAG,
|
||||
.type = OPTIONS_TABLE_CHOICE,
|
||||
.scope = OPTIONS_TABLE_SERVER,
|
||||
.choices = options_table_extended_keys_list,
|
||||
.default_num = 0,
|
||||
.text = "Whether to request extended key sequences from terminals "
|
||||
"that support it."
|
||||
|
4
screen.c
4
screen.c
@ -101,7 +101,9 @@ screen_reinit(struct screen *s)
|
||||
s->rupper = 0;
|
||||
s->rlower = screen_size_y(s) - 1;
|
||||
|
||||
s->mode = MODE_CURSOR | MODE_WRAP;
|
||||
s->mode = MODE_CURSOR|MODE_WRAP;
|
||||
if (options_get_number(global_options, "extended-keys") == 2)
|
||||
s->mode |= MODE_KEXTENDED;
|
||||
|
||||
if (s->saved_grid != NULL)
|
||||
screen_alternate_off(s, NULL, 0);
|
||||
|
25
tmux.1
25
tmux.1
@ -3418,11 +3418,24 @@ sessions.
|
||||
.Xc
|
||||
If enabled, the server will exit when there are no attached clients.
|
||||
.It Xo Ic extended-keys
|
||||
.Op Ic on | off
|
||||
.Op Ic on | off | always
|
||||
.Xc
|
||||
When enabled, extended keys are requested from the terminal and if supported
|
||||
are recognised by
|
||||
.Nm .
|
||||
When
|
||||
.Ic on
|
||||
or
|
||||
.Ic always ,
|
||||
the escape sequence to enable extended keys is sent to the terminal, if
|
||||
.Nm
|
||||
knows that it is supported.
|
||||
.Nm
|
||||
always recognises extended keys itself.
|
||||
If this option is
|
||||
.Ic on ,
|
||||
.Nm
|
||||
will only forward extended keys to applications when they request them; if
|
||||
.Ic always ,
|
||||
.Nm
|
||||
will always forward the keys.
|
||||
.It Xo Ic focus-events
|
||||
.Op Ic on | off
|
||||
.Xc
|
||||
@ -3501,8 +3514,8 @@ capabilities to be set instead,
|
||||
is intended for classes of functionality supported in a standard way but not
|
||||
reported by
|
||||
.Xr terminfo 5 .
|
||||
Care must be taken only to configure this with features the terminal actually
|
||||
support.
|
||||
Care must be taken to configure this only with features the terminal actually
|
||||
supports.
|
||||
.Pp
|
||||
This is an array option where each entry is a colon-separated string made up
|
||||
of a terminal type pattern (matched using
|
||||
|
Loading…
Reference in New Issue
Block a user