mirror of
https://github.com/irssi/irssi.git
synced 2026-08-11 04:43:34 +02:00
Make use of terminal application keys configurable
adds a new setting term_appkey_mode which can enable or disable the use of keyboard transmit (application keys) mode. Fixes #430
This commit is contained in:
parent
b1ffd5f647
commit
b9914abbf3
4 changed files with 23 additions and 4 deletions
|
|
@ -395,6 +395,12 @@ static void _ignore_parm(TERM_REC *term, int param)
|
|||
{
|
||||
}
|
||||
|
||||
static void terminfo_set_appkey_mode(TERM_REC *term, int set)
|
||||
{
|
||||
if (term->TI_smkx && term->TI_rmkx)
|
||||
tput(tparm(set ? term->TI_smkx : term->TI_rmkx));
|
||||
}
|
||||
|
||||
static void term_dec_set_bracketed_paste_mode(int enable)
|
||||
{
|
||||
if (enable)
|
||||
|
|
@ -543,8 +549,8 @@ void terminfo_cont(TERM_REC *term)
|
|||
if (term->TI_smcup)
|
||||
tput(tparm(term->TI_smcup));
|
||||
|
||||
if (term->TI_smkx)
|
||||
tput(tparm(term->TI_smkx));
|
||||
if (term->appkey_enabled)
|
||||
terminfo_set_appkey_mode(term, TRUE);
|
||||
|
||||
if (term->bracketed_paste_enabled)
|
||||
term_dec_set_bracketed_paste_mode(TRUE);
|
||||
|
|
@ -566,8 +572,8 @@ void terminfo_stop(TERM_REC *term)
|
|||
if (term->TI_rmcup)
|
||||
tput(tparm(term->TI_rmcup));
|
||||
|
||||
if (term->TI_rmkx)
|
||||
tput(tparm(term->TI_rmkx));
|
||||
if (term->appkey_enabled)
|
||||
terminfo_set_appkey_mode(term, FALSE);
|
||||
|
||||
/* reset input settings */
|
||||
terminfo_input_deinit(term);
|
||||
|
|
@ -695,6 +701,15 @@ static int term_setup(TERM_REC *term)
|
|||
return 1;
|
||||
}
|
||||
|
||||
void term_set_appkey_mode(int enable)
|
||||
{
|
||||
if (current_term->appkey_enabled == enable)
|
||||
return;
|
||||
|
||||
current_term->appkey_enabled = enable;
|
||||
terminfo_set_appkey_mode(current_term, enable);
|
||||
}
|
||||
|
||||
void term_set_bracketed_paste_mode(int enable)
|
||||
{
|
||||
if (current_term->bracketed_paste_enabled == enable)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue