From b2a219f9d8b10b7bfc204d77b62d4c6013061f4a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 1 Jul 2021 08:48:59 +0530 Subject: [PATCH] Add the Sync non-standard capability for synchronized updates to terminfo Since the geniuses at terminal-wg are trying their best to create chaos by retroactively changing the escape code used for this feature, it is good to have a property for it in terminfo. Since tmux already uses Sync for it, follow that in kitty's terminfo. --- kitty/terminfo.py | 3 ++- terminfo/kitty.terminfo | 1 + terminfo/x/xterm-kitty | Bin 3276 -> 3354 bytes 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/kitty/terminfo.py b/kitty/terminfo.py index 8fc5eb4ec..d9310f497 100644 --- a/kitty/terminfo.py +++ b/kitty/terminfo.py @@ -234,6 +234,7 @@ string_capabilities = { 'Smulx': r'\E[4:%p1%dm', # this is a non-standard extension that some terminals use, so match them # Enter strikethrough mode 'smxx': r'\E[9m', + 'Sync': '\\EP=%p1%ds\\E\\', # this is a non-standard extension supported by tmux for synchronized updates # Clear all tab stops 'tbc': r'\E[3g', # To status line (used to set window titles) @@ -437,7 +438,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( - 'Su Smulx Tc setrgbf setrgbb fullkbd kUP kDN'.split() + [ + 'Su Smulx Sync Tc setrgbf setrgbb fullkbd kUP kDN'.split() + [ 'k{}{}'.format(key, mod) for key in 'UP DN RIT LFT END HOM IC DC PRV NXT'.split() for mod in range(3, 8)]) diff --git a/terminfo/kitty.terminfo b/terminfo/kitty.terminfo index f74dc4e89..2179ff469 100644 --- a/terminfo/kitty.terminfo +++ b/terminfo/kitty.terminfo @@ -17,6 +17,7 @@ xterm-kitty|KovIdTTY, lines#24, pairs#32767, Smulx=\E[4:%p1%dm, + Sync=\EP=%p1%ds\E\, acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, bold=\E[1m, diff --git a/terminfo/x/xterm-kitty b/terminfo/x/xterm-kitty index 7b1a2abb5050d31e5d92004fbec06a6aa5d0a192..4471e81c39e8129137e5b9aa724fbdfbb3c08c46 100644 GIT binary patch delta 586 zcmY+9Ur5t&6vfZ^-aF7O`=hwf8Q8;!{%9B)sTqkFBvB11N`p2Q8wQhPL5-kcQ6v#5 zzcO5rlnNz6#XvzaFc5q&dnkJdgd_@sq6qr)qU*OYgwDg|oO{p1=gt%*ie1GlLCTYgaWF}49^L2LrZsndz z&6|(ri}_*xm}TRTJSmh7;*~O~k~(RW1JW!l5|B3OkeGBzm-I-VJdj87L`G#orsUOD znUi_>B;VwhEQzX1^R-Af>SnFbYOUA(>eJ)u*RZy$wP4CuNA;p!)?Q8MfDUW=BX^D? z4gbIL9Co{YRjMF+TkklUER$A~tS@z$pKfY11fpZJSqo5#tubhE@J@^TBevy#=^!+ktRPitk3_e_QNR0N*G fbr~1+YzqXVCRk@(b2KF9awn+GvG!oH$5qRJzy!|T delta 565 zcmY+9e`M5g7{}l5&+}ZlyIfuN!|i5W&gqw1jxF6Pb!M>`jmo$(PEDiBs7cFQMNvs{ zW-K+v_0P&WmrBX{!8A&u#hmC8nIx6|81e0M=Zu~|9?$#zJiK4eSi|dpw}G{2#7gvY zBJVv-&kf_)8aFwU^|Q`1S&@!2WwPf?D08nW%QyMT{AkIUHZ$f;MZLGZSoJ?I?Hy;q z{4jsaUnAlXzXW8hY>=45B_W;CEj`jJeUg?z8I}ujRYv5dtGI0z-g(LtkRwIBA)}a}#*p7DWK{tBPi$0`r z5@&E8mv9}UxP=_7{M6EEy5)7 zc!;NXiCGIVhayV&itqSsF&wz)rJwZ-GQ@~Q*~}KknP4Y_$(FXrKrC`NT?l%fvGB>; F#((j7zQ+In