diff --git a/kitty/terminfo.py b/kitty/terminfo.py index db05466a3..ea76ca1a0 100644 --- a/kitty/terminfo.py +++ b/kitty/terminfo.py @@ -288,6 +288,12 @@ string_capabilities = { 'u8': r'\E[?%[;0123456789]c', 'u9': r'\E[c', + # Bracketed paste, added to ncurses 6.4 in 2023 + 'PS': '\E200~', + 'PE': '\E201~', + 'BE': '\E[?2004h', + 'BD': '\E[?2004l', + # The following are entries that we don't use # # turn on blank mode, (characters invisible) # 'invis': r'\E[8m', @@ -460,7 +466,7 @@ queryable_capabilities = cast(Dict[str, str], numeric_capabilities.copy()) queryable_capabilities.update(string_capabilities) extra = (bool_capabilities | numeric_capabilities.keys() | string_capabilities.keys()) - set(termcap_aliases.values()) no_termcap_for = frozenset( - 'Cr Cs Se Ss Setulc Su Smulx Sync Tc setrgbf setrgbb fullkbd kUP kDN kbeg kBEG'.split() + [ + 'Cr Cs Se Ss Setulc Su Smulx Sync Tc PS PE BE BD setrgbf setrgbb fullkbd kUP kDN kbeg kBEG'.split() + [ f'k{key}{mod}' for key in 'UP DN RIT LFT BEG END HOM IC DC PRV NXT'.split() for mod in range(3, 8)]) diff --git a/terminfo/kitty.terminfo b/terminfo/kitty.terminfo index 9ab7c7cf2..039c980f6 100644 --- a/terminfo/kitty.terminfo +++ b/terminfo/kitty.terminfo @@ -16,8 +16,12 @@ xterm-kitty|KovIdTTY, it#8, lines#24, pairs#32767, + BD=\E[?2004l, + BE=\E[?2004h, Cr=\E]112\007, Cs=\E]12;%p1%s\007, + PE=\E201~, + PS=\E200~, Se=\E[2\sq, Setulc=\E[58:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%d%;m, Smulx=\E[4:%p1%dm, diff --git a/terminfo/x/xterm-kitty b/terminfo/x/xterm-kitty index c64aadb55..9a95e9c0f 100644 Binary files a/terminfo/x/xterm-kitty and b/terminfo/x/xterm-kitty differ