mirror of
https://github.com/tmux/tmux.git
synced 2024-12-04 19:58: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
736a276cc9
commit
5107e84897
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))
|
||||
|
@ -74,6 +74,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 \
|
||||
@ -266,8 +269,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
@ -100,7 +100,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);
|
||||
|
21
tmux.1
21
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
|
||||
|
Loading…
Reference in New Issue
Block a user