From c4042bd0e5517a145d92654aab1b826418565713 Mon Sep 17 00:00:00 2001 From: thfr Date: Tue, 8 Nov 2022 15:59:51 +0000 Subject: [PATCH] update to kitty 0.26.4 changelog: https://sw.kovidgoyal.net/kitty/changelog/ This update disables the encrypted remote control functionality which would require openssl 3.0; as discussed with a few. --- x11/kitty/Makefile | 8 +- x11/kitty/distinfo | 4 +- x11/kitty/patches/patch-kitty_boss_py | 25 ++++++ x11/kitty/patches/patch-kitty_child_py | 14 ++++ x11/kitty/patches/patch-kitty_complete_py | 14 ++++ x11/kitty/patches/patch-kitty_data-types_c | 21 +++++ .../patches/patch-kitty_remote_control_py | 40 ++++++++++ x11/kitty/patches/patch-setup_py | 36 ++++++--- x11/kitty/pkg/PLIST | 77 +++++++++++++++++++ 9 files changed, 226 insertions(+), 13 deletions(-) create mode 100644 x11/kitty/patches/patch-kitty_boss_py create mode 100644 x11/kitty/patches/patch-kitty_child_py create mode 100644 x11/kitty/patches/patch-kitty_complete_py create mode 100644 x11/kitty/patches/patch-kitty_data-types_c create mode 100644 x11/kitty/patches/patch-kitty_remote_control_py diff --git a/x11/kitty/Makefile b/x11/kitty/Makefile index ce4f752e393..7167cb7f246 100644 --- a/x11/kitty/Makefile +++ b/x11/kitty/Makefile @@ -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 # GPLv3+ PERMIT_PACKAGE = Yes -# libcanberra is dlopen(3)'d in desktop.c +# canberra, fontconfig, freetype 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} @@ -52,6 +52,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 diff --git a/x11/kitty/distinfo b/x11/kitty/distinfo index 7ca24410b4e..587b5c70665 100644 --- a/x11/kitty/distinfo +++ b/x11/kitty/distinfo @@ -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 diff --git a/x11/kitty/patches/patch-kitty_boss_py b/x11/kitty/patches/patch-kitty_boss_py new file mode 100644 index 00000000000..802396dab5a --- /dev/null +++ b/x11/kitty/patches/patch-kitty_boss_py @@ -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() diff --git a/x11/kitty/patches/patch-kitty_child_py b/x11/kitty/patches/patch-kitty_child_py new file mode 100644 index 00000000000..66145a1e0d0 --- /dev/null +++ b/x11/kitty/patches/patch-kitty_child_py @@ -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: diff --git a/x11/kitty/patches/patch-kitty_complete_py b/x11/kitty/patches/patch-kitty_complete_py new file mode 100644 index 00000000000..86c3fecd6b4 --- /dev/null +++ b/x11/kitty/patches/patch-kitty_complete_py @@ -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 diff --git a/x11/kitty/patches/patch-kitty_data-types_c b/x11/kitty/patches/patch-kitty_data-types_c new file mode 100644 index 00000000000..f035e17eb3c --- /dev/null +++ b/x11/kitty/patches/patch-kitty_data-types_c @@ -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)); } diff --git a/x11/kitty/patches/patch-kitty_remote_control_py b/x11/kitty/patches/patch-kitty_remote_control_py new file mode 100644 index 00000000000..3c86b38f2ac --- /dev/null +++ b/x11/kitty/patches/patch-kitty_remote_control_py @@ -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 + + diff --git a/x11/kitty/patches/patch-setup_py b/x11/kitty/patches/patch-setup_py index caaffad3edb..bdfca549b3f 100644 --- a/x11/kitty/patches/patch-setup_py +++ b/x11/kitty/patches/patch-setup_py @@ -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') diff --git a/x11/kitty/pkg/PLIST b/x11/kitty/pkg/PLIST index 5944b8903cf..e60e855def9 100644 --- a/x11/kitty/pkg/PLIST +++ b/x11/kitty/pkg/PLIST @@ -234,11 +234,45 @@ lib/kitty/kittens/ssh/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc 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.${MODPY_PYC_MAGIC_TAG}pyc 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}constants.${MODPY_PYC_MAGIC_TAG}pyc 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_actions.${MODPY_PYC_MAGIC_TAG}pyc 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.${MODPY_PYC_MAGIC_TAG}pyc 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/completions/_kitty 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-transfer-protocol.rst.txt 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/icat.rst.txt 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.rst.txt 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.js 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/furo.js 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-protocol.html 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