Hi, This is a diff to update kitty to 0.26.4. Since 0.26.0, there is an "encrypted communication" functionality [1] that causes some problems with the port, so this diff disables it.
The practical problem is that it doesn't build with LibreSSL functions and would require OpenSSL 3 from ports, but that is proving challenging to get right. OpenSSL has had its share of security concerns and issues with the development practices. Kitty also is trying increasingly to do everything and the kitchen sink. I personally don't use kitty remote control features. Sharing this diff before update so that other users of kitty can check if their use of the port is affected, or offer other solutions for the update. PS: make test now fails cryptically, and I can't find an easy fix: ===> Regression tests for kitty-0.26.4 mkdir -p /usr/ports/pobj/kitty-0.26.4/tmp/cache python3 setup.py test Traceback (most recent call last): File "/usr/ports/pobj/kitty-0.26.4/kitty-0.26.4/setup.py", line 1668, in <module> main() File "/usr/ports/pobj/kitty-0.26.4/kitty-0.26.4/setup.py", line 1622, in main os.execl(texe, texe, '+launch', 'test.py') File "/usr/local/lib/python3.9/os.py", line 542, in execl execv(file, args) FileNotFoundError: [Errno 2] No such file or directory [1] https://sw.kovidgoyal.net/kitty/rc_protocol/#encrypted-communication Index: Makefile =================================================================== RCS file: /cvs/ports/x11/kitty/Makefile,v retrieving revision 1.13 diff -u -p -r1.13 Makefile --- Makefile 13 Mar 2022 16:22:00 -0000 1.13 +++ Makefile 3 Nov 2022 23:52:03 -0000 @@ -3,7 +3,7 @@ ONLY_FOR_ARCHS = aarch64 amd64 i386 COMMENT = fast, feature full, GPU-based terminal emulator -MODPY_EGG_VERSION = 0.24.4 +MODPY_EGG_VERSION = 0.26.4 DISTNAME = kitty-${MODPY_EGG_VERSION} CATEGORIES = x11 HOMEPAGE = https://sw.kovidgoyal.net/kitty/ @@ -12,7 +12,7 @@ MAINTAINER = Thomas Frohwein <thfr@open # GPLv3+ PERMIT_PACKAGE = Yes -# libcanberra is dlopen(3)'d in desktop.c +# canberra, fontconfig, freetype, eopenssl30/crypto are loaded dynamically WANTLIB += GL X11 X11-xcb Xcursor Xinerama Xrandr c canberra dbus-1 WANTLIB += fontconfig freetype harfbuzz intl lcms2 m png pthread rsync WANTLIB += util xcb xkbcommon xkbcommon-x11 z ${MODPY_WANTLIB} @@ -51,6 +51,10 @@ TEST_ENV = CI=true \ # needed for 'make test' USE_GMAKE = Yes + +# disable crypto for encrypted communication; depends on OpenSSL3; not worth it +post-extract: + rm ${WRKSRC}/kitty/crypto.c pre-test: mkdir -p ${WRKDIR}/tmp/cache Index: distinfo =================================================================== RCS file: /cvs/ports/x11/kitty/distinfo,v retrieving revision 1.7 diff -u -p -r1.7 distinfo --- distinfo 13 Mar 2022 16:22:00 -0000 1.7 +++ distinfo 3 Nov 2022 23:52:03 -0000 @@ -1,2 +1,2 @@ -SHA256 (kitty-0.24.4.tar.xz) = 2M0LSWe7YeKjQntXy59F8niBP7a5hvl7NwyMUKoFjRg= -SIZE (kitty-0.24.4.tar.xz) = 4613232 +SHA256 (kitty-0.26.4.tar.xz) = wJWRrHyQjmoFSfdcwGHGMY9GJh+fXT83dRIAY8OkO7c= +SIZE (kitty-0.26.4.tar.xz) = 4749148 Index: patches/patch-kitty_boss_py =================================================================== RCS file: patches/patch-kitty_boss_py diff -N patches/patch-kitty_boss_py --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kitty_boss_py 3 Nov 2022 23:52:03 -0000 @@ -0,0 +1,25 @@ +disable crypto/remote control functions + +Index: kitty/boss.py +--- kitty/boss.py.orig ++++ kitty/boss.py +@@ -35,7 +35,7 @@ from .fast_data_types import ( + CLOSE_BEING_CONFIRMED, GLFW_MOD_ALT, GLFW_MOD_CONTROL, GLFW_MOD_SHIFT, + GLFW_MOD_SUPER, GLFW_MOUSE_BUTTON_LEFT, GLFW_PRESS, GLFW_PRIMARY_SELECTION, + IMPERATIVE_CLOSE_REQUESTED, NO_CLOSE_REQUESTED, ChildMonitor, Color, +- EllipticCurveKey, KeyEvent, SingleKey, add_timer, apply_options_update, ++ KeyEvent, SingleKey, add_timer, apply_options_update, + background_opacity_of, change_background_opacity, change_os_window_state, + cocoa_set_menubar_title, create_os_window, + current_application_quit_request, current_os_window, destroy_global_data, +@@ -245,8 +245,8 @@ class Boss: + self.clipboard = Clipboard() + self.primary_selection = Clipboard(GLFW_PRIMARY_SELECTION) + self.update_check_started = False +- self.encryption_key = EllipticCurveKey() +- self.encryption_public_key = f'{RC_ENCRYPTION_PROTOCOL_VERSION}:{base64.b85encode(self.encryption_key.public).decode("ascii")}' ++ #self.encryption_key = EllipticCurveKey() ++ #self.encryption_public_key = f'{RC_ENCRYPTION_PROTOCOL_VERSION}:{base64.b85encode(self.encryption_key.public).decode("ascii")}' + self.clipboard_buffers: Dict[str, str] = {} + self.update_check_process: Optional['PopenType[bytes]'] = None + self.window_id_map: WeakValueDictionary[int, Window] = WeakValueDictionary() Index: patches/patch-kitty_child_py =================================================================== RCS file: patches/patch-kitty_child_py diff -N patches/patch-kitty_child_py --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kitty_child_py 3 Nov 2022 23:52:03 -0000 @@ -0,0 +1,14 @@ +disable crypto/remote control functionality + +Index: kitty/child.py +--- kitty/child.py.orig ++++ kitty/child.py +@@ -255,7 +255,7 @@ class Child: + env['TERM'] = fast_data_types.get_options().term + env['COLORTERM'] = 'truecolor' + env['KITTY_PID'] = getpid() +- env['KITTY_PUBLIC_KEY'] = boss.encryption_public_key ++ #env['KITTY_PUBLIC_KEY'] = boss.encryption_public_key + if self.add_listen_on_env_var and boss.listening_on: + env['KITTY_LISTEN_ON'] = boss.listening_on + else: Index: patches/patch-kitty_complete_py =================================================================== RCS file: patches/patch-kitty_complete_py diff -N patches/patch-kitty_complete_py --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kitty_complete_py 3 Nov 2022 23:52:03 -0000 @@ -0,0 +1,14 @@ +disable crypto/remote control functionality + +Index: kitty/complete.py +--- kitty/complete.py.orig ++++ kitty/complete.py +@@ -16,7 +16,7 @@ from kittens.runner import ( + from .cli import ( + OptionDict, options_for_completion, parse_option_spec, prettify + ) +-from .remote_control import global_options_spec ++#from .remote_control import global_options_spec + from .constants import config_dir, shell_integration_dir + from .fast_data_types import truncate_point_for_length, wcswidth + from .rc.base import all_command_names, command_for_name Index: patches/patch-kitty_data-types_c =================================================================== RCS file: patches/patch-kitty_data-types_c diff -N patches/patch-kitty_data-types_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kitty_data-types_c 3 Nov 2022 23:52:03 -0000 @@ -0,0 +1,21 @@ +disable crypto functionality + +Index: kitty/data-types.c +--- kitty/data-types.c.orig ++++ kitty/data-types.c +@@ -263,7 +263,6 @@ extern int init_Line(PyObject *); + extern int init_ColorProfile(PyObject *); + extern int init_Screen(PyObject *); + extern bool init_fontconfig_library(PyObject*); +-extern bool init_crypto_library(PyObject*); + extern bool init_desktop(PyObject*); + extern bool init_fonts(PyObject*); + extern bool init_glfw(PyObject *m); +@@ -346,7 +345,6 @@ PyInit_fast_data_types(void) { + if (!init_fonts(m)) return NULL; + if (!init_utmp(m)) return NULL; + if (!init_loop_utils(m)) return NULL; +- if (!init_crypto_library(m)) return NULL; + + CellAttrs a; + #define s(name, attr) { a.val = 0; a.attr = 1; PyModule_AddIntConstant(m, #name, shift_to_first_set_bit(a)); } Index: patches/patch-kitty_remote_control_py =================================================================== RCS file: patches/patch-kitty_remote_control_py diff -N patches/patch-kitty_remote_control_py --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kitty_remote_control_py 3 Nov 2022 23:52:03 -0000 @@ -0,0 +1,40 @@ +disable encrypted communication functionality + +Index: kitty/remote_control.py +--- kitty/remote_control.py.orig ++++ kitty/remote_control.py +@@ -19,7 +19,7 @@ from .cli import emph, parse_args + from .cli_stub import RCOptions + from .constants import RC_ENCRYPTION_PROTOCOL_VERSION, appname, version + from .fast_data_types import ( +- AES256GCMDecrypt, AES256GCMEncrypt, EllipticCurveKey, get_boss, ++ get_boss, + get_options, read_command_response, send_data_to_peer + ) + from .rc.base import ( +@@ -39,7 +39,7 @@ def encode_response_for_peer(response: Any) -> bytes: + return b'\x1bP@kitty-cmd' + json.dumps(response).encode('utf-8') + b'\x1b\\' + + +-def parse_cmd(serialized_cmd: str, encryption_key: EllipticCurveKey) -> Dict[str, Any]: ++def parse_cmd(serialized_cmd: str, encryption_key: '') -> Dict[str, Any]: + try: + pcmd = json.loads(serialized_cmd) + except Exception: +@@ -48,6 +48,8 @@ def parse_cmd(serialized_cmd: str, encryption_key: Ell + return {} + pcmd.pop('password', None) + if 'encrypted' in pcmd: ++ raise NotImplementedError("encrypted communication disabled on OpenBSD") ++ """ + if pcmd.get('enc_proto', '1') != RC_ENCRYPTION_PROTOCOL_VERSION: + log_error(f'Ignoring encrypted rc command with unsupported protocol: {pcmd.get("enc_proto")}') + return {} +@@ -65,6 +67,7 @@ def parse_cmd(serialized_cmd: str, encryption_key: Ell + f'Ignoring encrypted rc command with timestamp {delta / 1e9:.1f} seconds from now.' + ' Could be an attempt at a replay attack or an incorrect clock on a remote machine.') + return {} ++ """ + return pcmd + + Index: patches/patch-setup_py =================================================================== RCS file: /cvs/ports/x11/kitty/patches/patch-setup_py,v retrieving revision 1.8 diff -u -p -r1.8 patch-setup_py --- patches/patch-setup_py 13 Mar 2022 16:22:00 -0000 1.8 +++ patches/patch-setup_py 3 Nov 2022 23:52:03 -0000 @@ -1,11 +1,11 @@ remove -O3 and -march=native optimizations fix man directory -disable wayland +disable wayland, libcrypto Index: setup.py --- setup.py.orig +++ setup.py -@@ -314,7 +314,6 @@ def init_env( +@@ -355,7 +355,6 @@ def init_env( df += ' -Og' float_conversion = '-Wfloat-conversion' fortify_source = '' if sanitize and is_macos else '-D_FORTIFY_SOURCE=2' @@ -13,7 +13,7 @@ Index: setup.py sanitize_args = get_sanitize_args(cc, ccver) if sanitize else set() cppflags_ = os.environ.get( 'OVERRIDE_CPPFLAGS', '-D{}DEBUG'.format('' if debug else 'N'), -@@ -328,12 +327,11 @@ def init_env( +@@ -369,12 +368,11 @@ def init_env( werror = '' if ignore_compiler_warnings else '-pedantic-errors -Werror' std = '' if is_openbsd else '-std=c11' sanitize_flag = ' '.join(sanitize_args) @@ -28,7 +28,7 @@ Index: setup.py ) ) cflags = shlex.split(cflags_) + shlex.split( -@@ -341,7 +339,7 @@ def init_env( +@@ -382,7 +380,7 @@ def init_env( ) ldflags_ = os.environ.get( 'OVERRIDE_LDFLAGS', @@ -37,7 +37,25 @@ Index: setup.py ) ldflags = shlex.split(ldflags_) ldflags.append('-shared') -@@ -732,7 +730,7 @@ def find_c_files() -> Tuple[List[str], List[str]]: +@@ -447,7 +445,7 @@ def kitty_env() -> Env: + at_least_version('harfbuzz', 1, 5) + cflags.extend(pkg_config('libpng', '--cflags-only-I')) + cflags.extend(pkg_config('lcms2', '--cflags-only-I')) +- cflags.extend(libcrypto_cflags) ++ #cflags.extend(libcrypto_cflags) + if is_macos: + platform_libs = [ + '-framework', 'Carbon', '-framework', 'CoreText', '-framework', 'CoreGraphics', +@@ -472,7 +470,7 @@ def kitty_env() -> Env: + gl_libs = ['-framework', 'OpenGL'] if is_macos else pkg_config('gl', '--libs') + libpng = pkg_config('libpng', '--libs') + lcms2 = pkg_config('lcms2', '--libs') +- ans.ldpaths += pylib + platform_libs + gl_libs + libpng + lcms2 + libcrypto_ldflags ++ ans.ldpaths += pylib + platform_libs + gl_libs + libpng + lcms2 #+ libcrypto_ldflags + if is_macos: + ans.ldpaths.extend('-framework Cocoa'.split()) + elif not is_openbsd: +@@ -761,7 +759,7 @@ def find_c_files() -> Tuple[List[str], List[str]]: def compile_glfw(compilation_database: CompilationDatabase) -> None: @@ -46,18 +64,18 @@ Index: setup.py for module in modules.split(): try: genv = glfw.init_env(env, pkg_config, pkg_version, at_least_version, test_compile, module) -@@ -842,8 +840,6 @@ def build_launcher(args: Options, launcher_dir: str = +@@ -892,8 +890,6 @@ def build_launcher(args: Options, launcher_dir: str = cflags.append('-g') if args.profile: libs.append('-lprofiler') - else: -- cflags.append('-O3') +- cflags.append('-g3' if args.debug else '-O3') if bundle_type.endswith('-freeze'): cppflags.append('-DFOR_BUNDLE') cppflags.append(f'-DPYVER="{sysconfig.get_python_version()}"') -@@ -885,7 +881,7 @@ def build_launcher(args: Options, launcher_dir: str = - +@@ -940,7 +936,7 @@ def build_launcher(args: Options, launcher_dir: str = + # Packaging {{{ def copy_man_pages(ddir: str) -> None: - mandir = os.path.join(ddir, 'share', 'man') + mandir = os.path.join(ddir, 'man') Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/x11/kitty/pkg/PLIST,v retrieving revision 1.7 diff -u -p -r1.7 PLIST --- pkg/PLIST 13 Mar 2022 16:22:00 -0000 1.7 +++ pkg/PLIST 3 Nov 2022 23:52:03 -0000 @@ -234,11 +234,45 @@ lib/kitty/kittens/ssh/${MODPY_PYCACHE}__ lib/kitty/kittens/ssh/${MODPY_PYCACHE}completion.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kittens/ssh/${MODPY_PYCACHE}completion.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kittens/ssh/${MODPY_PYCACHE}completion.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/${MODPY_PYCACHE}copy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/${MODPY_PYCACHE}copy.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/${MODPY_PYCACHE}copy.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kittens/ssh/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kittens/ssh/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kittens/ssh/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kittens/ssh/completion.py +lib/kitty/kittens/ssh/config.py +lib/kitty/kittens/ssh/copy.py lib/kitty/kittens/ssh/main.py +lib/kitty/kittens/ssh/options/ +lib/kitty/kittens/ssh/options/__init__.py +${MODPY_COMMENT}lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}/ +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kittens/ssh/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kittens/ssh/options/definition.py +lib/kitty/kittens/ssh/options/parse.py +lib/kitty/kittens/ssh/options/types.py +lib/kitty/kittens/ssh/options/utils.py +lib/kitty/kittens/ssh/utils.py lib/kitty/kittens/themes/ lib/kitty/kittens/themes/__init__.py ${MODPY_COMMENT}lib/kitty/kittens/themes/${MODPY_PYCACHE}/ @@ -371,6 +405,9 @@ lib/kitty/kitty/${MODPY_PYCACHE}cli_stub lib/kitty/kitty/${MODPY_PYCACHE}client.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}client.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}client.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kitty/${MODPY_PYCACHE}clipboard.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kitty/${MODPY_PYCACHE}clipboard.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kitty/${MODPY_PYCACHE}clipboard.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kitty/${MODPY_PYCACHE}complete.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}complete.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}complete.${MODPY_PYC_MAGIC_TAG}pyc @@ -383,6 +420,9 @@ lib/kitty/kitty/${MODPY_PYCACHE}constant lib/kitty/kitty/${MODPY_PYCACHE}debug_config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}debug_config.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}debug_config.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kitty/${MODPY_PYCACHE}entry_points.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kitty/${MODPY_PYCACHE}entry_points.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kitty/${MODPY_PYCACHE}entry_points.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kitty/${MODPY_PYCACHE}file_transmission.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}file_transmission.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}file_transmission.${MODPY_PYC_MAGIC_TAG}pyc @@ -419,12 +459,18 @@ lib/kitty/kitty/${MODPY_PYCACHE}open_act lib/kitty/kitty/${MODPY_PYCACHE}os_window_size.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}os_window_size.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}os_window_size.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kitty/${MODPY_PYCACHE}prewarm.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kitty/${MODPY_PYCACHE}prewarm.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kitty/${MODPY_PYCACHE}prewarm.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kitty/${MODPY_PYCACHE}remote_control.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}remote_control.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}remote_control.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kitty/${MODPY_PYCACHE}rgb.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}rgb.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}rgb.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kitty/${MODPY_PYCACHE}search_query_parser.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kitty/${MODPY_PYCACHE}search_query_parser.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kitty/${MODPY_PYCACHE}search_query_parser.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kitty/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}pyc @@ -434,6 +480,9 @@ lib/kitty/kitty/${MODPY_PYCACHE}shell.${ lib/kitty/kitty/${MODPY_PYCACHE}shell_integration.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}shell_integration.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}shell_integration.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/kitty/${MODPY_PYCACHE}shm.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/kitty/${MODPY_PYCACHE}shm.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/kitty/${MODPY_PYCACHE}shm.${MODPY_PYC_MAGIC_TAG}pyc lib/kitty/kitty/${MODPY_PYCACHE}short_uuid.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/kitty/kitty/${MODPY_PYCACHE}short_uuid.${MODPY_PYC_MAGIC_TAG}opt-2.pyc lib/kitty/kitty/${MODPY_PYCACHE}short_uuid.${MODPY_PYC_MAGIC_TAG}pyc @@ -480,6 +529,7 @@ lib/kitty/kitty/choose_entry.py lib/kitty/kitty/cli.py lib/kitty/kitty/cli_stub.py lib/kitty/kitty/client.py +lib/kitty/kitty/clipboard.py lib/kitty/kitty/complete.py lib/kitty/kitty/conf/ lib/kitty/kitty/conf/__init__.py @@ -502,6 +552,7 @@ lib/kitty/kitty/conf/utils.py lib/kitty/kitty/config.py lib/kitty/kitty/constants.py lib/kitty/kitty/debug_config.py +lib/kitty/kitty/entry_points.py @so lib/kitty/kitty/fast_data_types.so lib/kitty/kitty/file_transmission.py lib/kitty/kitty/fonts/ @@ -602,6 +653,7 @@ lib/kitty/kitty/options/parse.py lib/kitty/kitty/options/types.py lib/kitty/kitty/options/utils.py lib/kitty/kitty/os_window_size.py +lib/kitty/kitty/prewarm.py lib/kitty/kitty/rc/ lib/kitty/kitty/rc/__init__.py ${MODPY_COMMENT}lib/kitty/kitty/rc/${MODPY_PYCACHE}/ @@ -750,9 +802,11 @@ lib/kitty/kitty/rc/set_window_title.py lib/kitty/kitty/rc/signal_child.py lib/kitty/kitty/remote_control.py lib/kitty/kitty/rgb.py +lib/kitty/kitty/search_query_parser.py lib/kitty/kitty/session.py lib/kitty/kitty/shell.py lib/kitty/kitty/shell_integration.py +lib/kitty/kitty/shm.py lib/kitty/kitty/short_uuid.py lib/kitty/kitty/tab_bar.py lib/kitty/kitty/tabs.py @@ -775,9 +829,21 @@ lib/kitty/shell-integration/bash/ lib/kitty/shell-integration/bash/kitty.bash lib/kitty/shell-integration/fish/ lib/kitty/shell-integration/fish/vendor_completions.d/ +lib/kitty/shell-integration/fish/vendor_completions.d/clone-in-kitty.fish +lib/kitty/shell-integration/fish/vendor_completions.d/edit-in-kitty.fish lib/kitty/shell-integration/fish/vendor_completions.d/kitty.fish lib/kitty/shell-integration/fish/vendor_conf.d/ lib/kitty/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish +lib/kitty/shell-integration/ssh/ +${MODPY_COMMENT}lib/kitty/shell-integration/ssh/${MODPY_PYCACHE}/ +lib/kitty/shell-integration/ssh/${MODPY_PYCACHE}askpass.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/kitty/shell-integration/ssh/${MODPY_PYCACHE}askpass.${MODPY_PYC_MAGIC_TAG}opt-2.pyc +lib/kitty/shell-integration/ssh/${MODPY_PYCACHE}askpass.${MODPY_PYC_MAGIC_TAG}pyc +lib/kitty/shell-integration/ssh/askpass.py +lib/kitty/shell-integration/ssh/bootstrap-utils.sh +lib/kitty/shell-integration/ssh/bootstrap.py +lib/kitty/shell-integration/ssh/bootstrap.sh +lib/kitty/shell-integration/ssh/kitty lib/kitty/shell-integration/zsh/ lib/kitty/shell-integration/zsh/.zshenv lib/kitty/shell-integration/zsh/completions/ @@ -785,6 +851,8 @@ lib/kitty/shell-integration/zsh/completi lib/kitty/shell-integration/zsh/kitty-integration lib/kitty/shell-integration/zsh/kitty.zsh lib/kitty/terminfo/ +lib/kitty/terminfo/kitty.termcap +lib/kitty/terminfo/kitty.terminfo lib/kitty/terminfo/x/ lib/kitty/terminfo/x/xterm-kitty @man man/man1/kitty.1 @@ -825,6 +893,7 @@ share/doc/kitty/html/_sources/file-trans share/doc/kitty/html/_sources/generated/ share/doc/kitty/html/_sources/generated/launch.rst.txt share/doc/kitty/html/_sources/generated/rc.rst.txt +share/doc/kitty/html/_sources/generated/ssh-copy.rst.txt share/doc/kitty/html/_sources/glossary.rst.txt share/doc/kitty/html/_sources/graphics-protocol.rst.txt share/doc/kitty/html/_sources/index.rst.txt @@ -842,6 +911,7 @@ share/doc/kitty/html/_sources/kittens/ic share/doc/kitty/html/_sources/kittens/panel.rst.txt share/doc/kitty/html/_sources/kittens/query_terminal.rst.txt share/doc/kitty/html/_sources/kittens/remote_file.rst.txt +share/doc/kitty/html/_sources/kittens/ssh.rst.txt share/doc/kitty/html/_sources/kittens/themes.rst.txt share/doc/kitty/html/_sources/kittens/transfer.rst.txt share/doc/kitty/html/_sources/kittens/unicode_input.rst.txt @@ -863,6 +933,7 @@ share/doc/kitty/html/_sources/support.rs share/doc/kitty/html/_sources/underlines.rst.txt share/doc/kitty/html/_sources/unscroll.rst.txt share/doc/kitty/html/_static/ +share/doc/kitty/html/_static/_sphinx_javascript_frameworks_compat.js share/doc/kitty/html/_static/basic.css share/doc/kitty/html/_static/check-solid.svg share/doc/kitty/html/_static/clipboard.min.js @@ -872,10 +943,12 @@ share/doc/kitty/html/_static/copybutton. share/doc/kitty/html/_static/copybutton_funcs.js share/doc/kitty/html/_static/custom.css share/doc/kitty/html/_static/custom.js +share/doc/kitty/html/_static/debug.css share/doc/kitty/html/_static/doctools.js share/doc/kitty/html/_static/documentation_options.js share/doc/kitty/html/_static/file.png share/doc/kitty/html/_static/jquery-3.5.1.js +share/doc/kitty/html/_static/jquery-3.6.0.js share/doc/kitty/html/_static/jquery.js share/doc/kitty/html/_static/kitty.svg share/doc/kitty/html/_static/language_data.js @@ -889,6 +962,8 @@ share/doc/kitty/html/_static/scripts/fur share/doc/kitty/html/_static/scripts/furo.js.LICENSE.txt share/doc/kitty/html/_static/scripts/furo.js.map share/doc/kitty/html/_static/searchtools.js +share/doc/kitty/html/_static/skeleton.css +share/doc/kitty/html/_static/sphinx_highlight.js share/doc/kitty/html/_static/styles/ share/doc/kitty/html/_static/styles/furo-extensions.css share/doc/kitty/html/_static/styles/furo-extensions.css.map @@ -911,6 +986,7 @@ share/doc/kitty/html/file-transfer-proto share/doc/kitty/html/generated/ share/doc/kitty/html/generated/launch.html share/doc/kitty/html/generated/rc.html +share/doc/kitty/html/generated/ssh-copy.html share/doc/kitty/html/genindex.html share/doc/kitty/html/glossary.html share/doc/kitty/html/graphics-protocol.html @@ -929,6 +1005,7 @@ share/doc/kitty/html/kittens/icat.html share/doc/kitty/html/kittens/panel.html share/doc/kitty/html/kittens/query_terminal.html share/doc/kitty/html/kittens/remote_file.html +share/doc/kitty/html/kittens/ssh.html share/doc/kitty/html/kittens/themes.html share/doc/kitty/html/kittens/transfer.html share/doc/kitty/html/kittens/unicode_input.html