Add an option to set the key sent by backspace for those whose system

uses ^H rather than ^?. GitHub issue 1969.
This commit is contained in:
nicm
2019-11-14 07:55:01 +00:00
parent c225262e13
commit 08b07b1a08
5 changed files with 32 additions and 9 deletions

View File

@ -217,6 +217,7 @@ spawn_pane(struct spawn_context *sc, char **cause)
u_int hlimit;
struct winsize ws;
sigset_t set, oldset;
key_code key;
spawn_log(__func__, sc);
@ -378,13 +379,17 @@ spawn_pane(struct spawn_context *sc, char **cause)
/*
* Update terminal escape characters from the session if available and
* force VERASE to tmux's \177.
* force VERASE to tmux's backspace.
*/
if (tcgetattr(STDIN_FILENO, &now) != 0)
_exit(1);
if (s->tio != NULL)
memcpy(now.c_cc, s->tio->c_cc, sizeof now.c_cc);
now.c_cc[VERASE] = '\177';
key = options_get_number(global_options, "backspace");
if (key >= 0x7f)
now.c_cc[VERASE] = '\177';
else
now.c_cc[VERASE] = key;
if (tcsetattr(STDIN_FILENO, TCSANOW, &now) != 0)
_exit(1);