From 9a179a7e902bf870118de581a99da579f2d1c1ef Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 5 Nov 2023 15:00:13 +0530 Subject: [PATCH] Add focus reporting capabilities to terminfo See https://lists.gnu.org/archive/html/bug-ncurses/2023-10/msg00117.html --- kitty/terminfo.py | 8 +++++++- terminfo/kitty.terminfo | 3 +++ terminfo/x/xterm-kitty | Bin 3674 -> 3711 bytes 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kitty/terminfo.py b/kitty/terminfo.py index 56aa9cd4b..2fcefcca3 100644 --- a/kitty/terminfo.py +++ b/kitty/terminfo.py @@ -58,6 +58,8 @@ bool_capabilities = { # described at: # https://github.com/kovidgoyal/kitty/blob/master/protocol-extensions.asciidoc 'fullkbd', + # Terminal supports focus events: https://lists.gnu.org/archive/html/bug-ncurses/2023-10/msg00117.html + 'XF', # The following are entries that we don't use # # background color erase @@ -302,6 +304,10 @@ string_capabilities = { # Focus In and Out events 'kxIN': r'\E[I', 'kxOUT': r'\E[O', + # Enable/disable focus reporting + # Add to ncurses in: https://lists.gnu.org/archive/html/bug-ncurses/2023-10/msg00117.html + 'fe': r'\E[?1004h', + 'fd': r'\E[?1004l', # The following are entries that we don't use # # turn on blank mode, (characters invisible) @@ -475,7 +481,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( - 'XR Ms RV kxIN kxOUT Cr Cs Se Ss Setulc Su Smulx Sync Tc PS PE BE BD setrgbf setrgbb fullkbd kUP kDN kbeg kBEG'.split() + [ + 'XR Ms RV kxIN kxOUT Cr Cs Se Ss Setulc Su Smulx Sync Tc PS PE BE BD setrgbf setrgbb fullkbd kUP kDN kbeg kBEG fe fd XF'.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 b3beda3eb..317451ec7 100644 --- a/terminfo/kitty.terminfo +++ b/terminfo/kitty.terminfo @@ -1,6 +1,7 @@ xterm-kitty|KovIdTTY, Su, Tc, + XF, am, ccc, fullkbd, @@ -59,6 +60,8 @@ xterm-kitty|KovIdTTY, ed=\E[J, el=\E[K, el1=\E[1K, + fd=\E[?1004l, + fe=\E[?1004h, flash=\E[?5h$<100/>\E[?5l, fsl=^G, home=\E[H, diff --git a/terminfo/x/xterm-kitty b/terminfo/x/xterm-kitty index c7e386b8e8ced3e885eaf15a4d2b3cb56bdd27f2..d8eaab6e96e9c3460b98635928bd2dedb62cdb00 100644 GIT binary patch delta 351 zcmW;HPbh-{9LDkI`OVm7O-rH-2c;%rnWC*U$wIOsf0|k?6CsjXN|vM~l3oXM5OP>9 zR;!hel7mu|q^vYaNot8GrRL4|^u2x(mb4}Mq%&mz=)f-8GN`7!>xx6CxWF~;@PKE$ z;R8PavuI)-Ei7d@ZLDJho7v7TdgLdnm#vFfg04q2^X5+Mk_q%MnC)* z!WbqI#0=)JfF-PA9bs%?5BrEBj$@puj4RwCfuss~MGBuPB@HdJX=Xl)RE(8Xtfhl4 zx>Zgm`{-kUBOK=xr&ZFtk&9eWRU6!9M6ntUa~f>b)%H;odjDrAmNYz2dYhFaqf~KW4cyz delta 330 zcmWO1%}2v=0LSsq`@76c8!<|)nj)f@N)KX`lEoNNB1KQ62QiVvL@ISCraEL2(IJs` z+97o)9U_XN)gdL(A?r{&r1kp`UayQd!yHSjvO%0(_BkTSDHmLE%Ofwm^T`hx?8aq0 zrofb#a^p93CSY1k(1c8f88?eYvPET=TRHM5SNSTGPo*kTx%{eCg92(&n!s{B~A4GFb4gdfE