On Mon, 23 Aug 2021, Thomas Frohwein wrote:

> Hi,
> 
> Thanks for the diff!
> 
> On Tue, Aug 17, 2021 at 09:14:05AM +0200, Paco Esteban wrote:
> > Hi ports@,
> > 
> > This is an update of x11/kitty to 0.23.0
> > It works for me and all tests pass on amd64.
> 
> same here, also on amd64
> 
> > 
> > About the port itself, I removed most of the patches that seem to be
> > included upstream.
> 
> libcanberra isn't detected with the default settings and therefore no
> more sound support with your diff. I've added '--canberra-library' to
> MODPY_SETUP_ARGS (provides a path to dlopen). This restores the sound
> support.

Weird, I've been using it since I sent it and I got the bell sound.
But you know better the port so I'm ok with that.

> >  I have a doubt about a new one I had to introduce.
> > We don't seem to have a function called posix_fallocate, which is used
> > to guarantee disk space available.  The closest thing I could find is
> > ftruncate(2), which is not exactly the same but it was used on the same
> > file under certain conditions.  This is probably the wrong move, so I'm
> > open to suggestions here.
> 
> Not sure about this, but see sthen's response. Would leave it as in your
> diff for now as it seems to work.
> 
> > I also created a tmp folder in pre-test to
> > avoid some tests failing because of filesystems permissions.
> 
> That works, no objections from me.
> 
> [...]
> 
> >  do-gen:
> >     ${SUBST_CMD} ${WRKSRC}/kitty/child.py
> >     ${SUBST_CMD} ${WRKSRC}/launcher.c
> 
> With patches for these files removed, do-gen target is now obsolete.
> 
> There are also 2 places of '-O3' in setup.py that I removed, too.
> 
> Updated diff below. I'm intending to update the port if no objections
> are voiced. Comments/ok's are of course welcome!

ok paco@
If you don't commit it in a few days I'll do :-)

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/Makefile,v
> retrieving revision 1.6
> diff -u -p -r1.6 Makefile
> --- Makefile  23 Feb 2021 19:39:52 -0000      1.6
> +++ Makefile  23 Aug 2021 12:55:24 -0000
> @@ -5,7 +5,7 @@ ONLY_FOR_ARCHS =      aarch64 amd64 i386
>  
>  COMMENT =            fast, feature full, GPU-based terminal emulator
>  
> -MODPY_EGG_VERSION =  0.19.3
> +MODPY_EGG_VERSION =  0.23.0
>  DISTNAME =           kitty-${MODPY_EGG_VERSION}
>  CATEGORIES =         x11
>  HOMEPAGE =           https://sw.kovidgoyal.net/kitty/
> @@ -14,6 +14,7 @@ MAINTAINER =                Thomas Frohwein <thfr@open
>  # GPLv3+
>  PERMIT_PACKAGE =     Yes
>  
> +# libcanberra is dlopen(3)'d in desktop.c
>  WANTLIB += GL X11 X11-xcb Xcursor Xinerama Xrandr c canberra dbus-1
>  WANTLIB += fontconfig freetype harfbuzz intl lcms2 m png pthread
>  WANTLIB += util xcb xkbcommon xkbcommon-x11 z ${MODPY_WANTLIB}
> @@ -26,7 +27,8 @@ COMPILER =          base-clang ports-gcc
>  
>  MODULES =            lang/python
>  MODPY_DISTUTILS_BUILD =      linux-package
> -MODPY_SETUP_ARGS +=  --verbose
> +MODPY_SETUP_ARGS +=  --canberra-library=${LOCALBASE}/lib/libcanberra.so \
> +                     --verbose
>  # this disables checking upstream for updates
>  MODPY_SETUP_ARGS +=  --update-check-interval=0
>  
> @@ -43,12 +45,15 @@ LIB_DEPENDS =             audio/libcanberra \
>                       x11/dbus \
>                       x11/xkbcommon
>  
> +TEST_ENV =           CI=true \
> +                     TMPDIR=${WRKDIR}/tmp \
> +                     KITTY_CACHE_DIRECTORY=${WRKDIR}/tmp/cache
> +
>  # needed for 'make test'
>  USE_GMAKE =          Yes
>  
> -do-gen:
> -     ${SUBST_CMD} ${WRKSRC}/kitty/child.py
> -     ${SUBST_CMD} ${WRKSRC}/launcher.c
> +pre-test:
> +     mkdir -p ${WRKDIR}/tmp/cache
>  
>  do-install:
>       ${INSTALL_PROGRAM} \
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/distinfo,v
> retrieving revision 1.3
> diff -u -p -r1.3 distinfo
> --- distinfo  1 Jan 2021 16:00:46 -0000       1.3
> +++ distinfo  23 Aug 2021 12:55:24 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (kitty-0.19.3.tar.xz) = FthDNWsGl9srcXVLSv2NQxZqDwVh5gYQf2pLlRliTk8=
> -SIZE (kitty-0.19.3.tar.xz) = 3269628
> +SHA256 (kitty-0.23.0.tar.xz) = 9pWri1aNih8LtJSWcDbgSdIgoxOACYdqCsuBjCNoVOM=
> +SIZE (kitty-0.23.0.tar.xz) = 4440508
> Index: patches/patch-glfw_backend_utils_c
> ===================================================================
> RCS file: patches/patch-glfw_backend_utils_c
> diff -N patches/patch-glfw_backend_utils_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-glfw_backend_utils_c        23 Aug 2021 12:55:24 -0000
> @@ -0,0 +1,37 @@
> +$OpenBSD$
> +
> +We don't have posix_fallocate.
> +
> +Index: glfw/backend_utils.c
> +--- glfw/backend_utils.c.orig
> ++++ glfw/backend_utils.c
> +@@ -373,7 +373,7 @@ GLFWAPI char* utf_8_strndup(const char* source, size_t
> +  * receive SIGBUS on accessing mmap()'ed file contents instead.
> +  */
> + int createAnonymousFile(off_t size) {
> +-    int ret, fd = -1, shm_anon = 0;
> ++    int ret, fd = -1;
> + #ifdef HAS_MEMFD_CREATE
> +     fd = glfw_memfd_create("glfw-shared", MFD_CLOEXEC | MFD_ALLOW_SEALING);
> +     if (fd < 0) return -1;
> +@@ -383,10 +383,6 @@ int createAnonymousFile(off_t size) {
> +     // There is also no need to check for the return value, we couldn’t do
> +     // anything with it anyway.
> +     fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
> +-#elif defined(SHM_ANON)
> +-    fd = shm_open(SHM_ANON, O_RDWR | O_CLOEXEC, 0600);
> +-    if (fd < 0) return -1;
> +-    shm_anon = 1;
> + #else
> +     static const char template[] = "/glfw-shared-XXXXXX";
> +     const char* path;
> +@@ -410,8 +406,7 @@ int createAnonymousFile(off_t size) {
> +     if (fd < 0)
> +         return -1;
> + #endif
> +-    // posix_fallocate does not work on SHM descriptors
> +-    ret = shm_anon ? ftruncate(fd, size) : posix_fallocate(fd, 0, size);
> ++    ret = ftruncate(fd, size);
> +     if (ret != 0)
> +     {
> +         close(fd);
> Index: patches/patch-kitty_child_py
> ===================================================================
> RCS file: patches/patch-kitty_child_py
> diff -N patches/patch-kitty_child_py
> --- patches/patch-kitty_child_py      7 Sep 2020 12:19:52 -0000       1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,28 +0,0 @@
> -$OpenBSD: patch-kitty_child_py,v 1.1.1.1 2020/09/07 12:19:52 thfr Exp $
> -
> -work around procfs
> -hardcode ${PREFIX}/bin for "cwd_of_process()"
> -
> -Index: kitty/child.py
> ---- kitty/child.py.orig
> -+++ kitty/child.py
> -@@ -40,16 +40,13 @@ if is_macos:
> - else:
> - 
> -     def cmdline_of_process(pid: int) -> List[str]:
> --        with open('/proc/{}/cmdline'.format(pid), 'rb') as f:
> --            return list(filter(None, f.read().decode('utf-8').split('\0')))
> -+        return list( [ 'kitty' ] )
> - 
> -     def cwd_of_process(pid: int) -> str:
> --        ans = '/proc/{}/cwd'.format(pid)
> --        return os.path.realpath(ans)
> -+        return "${PREFIX}/bin"
> - 
> -     def _environ_of_process(pid: int) -> str:
> --        with open('/proc/{}/environ'.format(pid), 'rb') as f:
> --            return f.read().decode('utf-8')
> -+        return ""
> - 
> -     def process_group_map() -> DefaultDict[int, List[int]]:
> -         ans: DefaultDict[int, List[int]] = defaultdict(list)
> Index: patches/patch-kitty_desktop_c
> ===================================================================
> RCS file: patches/patch-kitty_desktop_c
> diff -N patches/patch-kitty_desktop_c
> --- patches/patch-kitty_desktop_c     7 Sep 2020 12:19:52 -0000       1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,93 +0,0 @@
> -$OpenBSD: patch-kitty_desktop_c,v 1.1.1.1 2020/09/07 12:19:52 thfr Exp $
> -
> -revert the use of dlopen(3) to load libcanberra
> -see commit 8184ba246a63b05cd79e742c48f5527ac29c8a67 (23-Oct-2019)
> -
> -Index: kitty/desktop.c
> ---- kitty/desktop.c.orig
> -+++ kitty/desktop.c
> -@@ -7,6 +7,7 @@
> - 
> - #include "data-types.h"
> - #include <dlfcn.h>
> -+#include <canberra.h>
> - 
> - #define FUNC(name, restype, ...) typedef restype 
> (*name##_func)(__VA_ARGS__); static name##_func name = NULL
> - #define LOAD_FUNC(handle, name) {\
> -@@ -97,64 +98,15 @@ static PyMethodDef module_methods[] = {
> -     {NULL, NULL, 0, NULL}        /* Sentinel */
> - };
> - 
> --static void* libcanberra_handle = NULL;
> --static void *canberra_ctx = NULL;
> --FUNC(ca_context_create, int, void**);
> --FUNC(ca_context_destroy, int, void*);
> --typedef int (*ca_context_play_func)(void*, uint32_t, ...); static 
> ca_context_play_func ca_context_play = NULL;
> -+static ca_context *canberra_ctx = NULL;
> - 
> --static PyObject*
> --load_libcanberra_functions(void) {
> --    LOAD_FUNC(libcanberra_handle, ca_context_create);
> --    LOAD_FUNC(libcanberra_handle, ca_context_play);
> --    LOAD_FUNC(libcanberra_handle, ca_context_destroy);
> --    return NULL;
> --}
> --
> --static void
> --load_libcanberra(void) {
> --    static bool done = false;
> --    if (done) return;
> --    done = true;
> --    const char* libnames[] = {
> --#if defined(_KITTY_CANBERRA_LIBRARY)
> --        _KITTY_CANBERRA_LIBRARY,
> --#else
> --        "libcanberra.so",
> --        // some installs are missing the .so symlink, so try the full name
> --        "libcanberra.so.0",
> --        "libcanberra.so.0.2.5",
> --#endif
> --        NULL
> --    };
> --    for (int i = 0; libnames[i]; i++) {
> --        libcanberra_handle = dlopen(libnames[i], RTLD_LAZY);
> --        if (libcanberra_handle) break;
> --    }
> --    if (libcanberra_handle == NULL) {
> --        fprintf(stderr, "Failed to load %s, cannot play beep sound, with 
> error: %s\n", libnames[0], dlerror());
> --        return;
> --    }
> --    load_libcanberra_functions();
> --    if (PyErr_Occurred()) {
> --        PyErr_Print();
> --        dlclose(libcanberra_handle); libcanberra_handle = NULL;
> --    }
> --    if (ca_context_create(&canberra_ctx) != 0) {
> --        fprintf(stderr, "Failed to create libcanberra context, cannot play 
> beep sound\n");
> --        ca_context_destroy(canberra_ctx); canberra_ctx = NULL;
> --        dlclose(libcanberra_handle); libcanberra_handle = NULL;
> --    }
> --}
> --
> - void
> - play_canberra_sound(const char *which_sound, const char *event_id) {
> --    load_libcanberra();
> --    if (libcanberra_handle == NULL || canberra_ctx == NULL) return;
> -+    if (canberra_ctx == NULL) ca_context_create(&canberra_ctx);
> -     ca_context_play(
> -         canberra_ctx, 0,
> --        "event.id", which_sound,
> --        "event.description", event_id,
> -+        CA_PROP_EVENT_ID, which_sound,
> -+        CA_PROP_EVENT_DESCRIPTION, event_id,
> -         NULL
> -     );
> - }
> -@@ -165,7 +117,6 @@ finalize(void) {
> -     libsn_handle = NULL;
> -     if (canberra_ctx) ca_context_destroy(canberra_ctx);
> -     canberra_ctx = NULL;
> --    if (libcanberra_handle) dlclose(libcanberra_handle);
> - }
> - 
> - bool
> Index: patches/patch-launcher_c
> ===================================================================
> RCS file: patches/patch-launcher_c
> diff -N patches/patch-launcher_c
> --- patches/patch-launcher_c  17 Dec 2020 07:53:18 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,39 +0,0 @@
> -$OpenBSD: patch-launcher_c,v 1.2 2020/12/17 07:53:18 thfr Exp $
> -
> -disable procfs
> -
> -Index: launcher.c
> ---- launcher.c.orig
> -+++ launcher.c
> -@@ -30,7 +30,7 @@
> - #define KITTY_LIB_DIR_NAME "lib"
> - #endif
> - 
> --#ifndef __FreeBSD__
> -+#if !defined(__FreeBSD__)
> - static inline bool
> - safe_realpath(const char* src, char *buf, size_t buf_sz) {
> -     char* ans = realpath(src, NULL);
> -@@ -166,7 +166,13 @@ read_exe_path(char *exe, size_t buf_sz) {
> -     fprintf(stderr, "kitty not found in PATH aborting\n");
> -     return false;
> - }
> -+#elif defined(__OpenBSD__)
> - 
> -+static inline bool
> -+read_exe_path(char *exe, size_t buf_sz) {
> -+    exe = "${PREFIX}/bin/kitty";
> -+    return true;
> -+}
> - #else
> - 
> - static inline bool
> -@@ -184,7 +190,7 @@ int main(int argc, char *argv[]) {
> - #endif
> -     if (!read_exe_path(exe, sizeof(exe))) return 1;
> - 
> --    char *exe_dir = dirname(exe);
> -+    char *exe_dir = "${PREFIX}/bin";
> -     int num, num_args, i, ret=0;
> -     char lib[PATH_MAX+1] = {0};
> -     char *final_argv[MAX_ARGC + 1] = {0};
> Index: patches/patch-setup_py
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/patches/patch-setup_py,v
> retrieving revision 1.3
> diff -u -p -r1.3 patch-setup_py
> --- patches/patch-setup_py    1 Jan 2021 16:00:46 -0000       1.3
> +++ patches/patch-setup_py    23 Aug 2021 12:55:24 -0000
> @@ -1,36 +1,35 @@
> -$OpenBSD: patch-setup_py,v 1.3 2021/01/01 16:00:46 thfr Exp $
> +$OpenBSD$
>  
> -remove libdl and librt linking
> -disable -O3 optimization
> +remove -O3 and -march=native optimizations
>  fix man directory
> -add linking of libcanberra
>  
>  Index: setup.py
>  --- setup.py.orig
>  +++ setup.py
> -@@ -264,7 +264,6 @@ def init_env(
> +@@ -293,7 +293,6 @@ def init_env(
>           df += ' -Og'
>           float_conversion = '-Wfloat-conversion'
> -     fortify_source = '-D_FORTIFY_SOURCE=2'
> +     fortify_source = '' if sanitize and is_macos else '-D_FORTIFY_SOURCE=2'
>  -    optimize = df if debug or sanitize else '-O3'
>       sanitize_args = get_sanitize_args(cc, ccver) if sanitize else set()
>       cppflags_ = os.environ.get(
>           'OVERRIDE_CPPFLAGS', '-D{}DEBUG'.format('' if debug else 'N'),
> -@@ -279,11 +278,11 @@ def init_env(
> -         ).format(
> -             float_conversion,
> -             '' if is_openbsd else '-std=c11',
> --            optimize,
> -+            '',
> -             ' '.join(sanitize_args),
> -             stack_protector,
> -             missing_braces,
> --            '-march=native' if native_optimizations else '',
> -+            '',
> -             fortify_source
> +@@ -304,12 +303,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)
> +-    march = '-march=native' if native_optimizations else ''
> +     cflags_ = os.environ.get(
> +         'OVERRIDE_CFLAGS', (
> +             f'-Wextra {float_conversion} -Wno-missing-field-initializers 
> -Wall -Wstrict-prototypes {std}'
> +-            f' {werror} {optimize} {sanitize_flag} -fwrapv 
> {stack_protector} {missing_braces}'
> +-            f' -pipe {march} -fvisibility=hidden {fortify_source}'
> ++            f' {werror} {sanitize_flag} -fwrapv {stack_protector} 
> {missing_braces}'
> ++            f' -pipe -fvisibility=hidden {fortify_source}'
>           )
>       )
> -@@ -292,7 +291,7 @@ def init_env(
> +     cflags = shlex.split(cflags_) + shlex.split(
> +@@ -317,7 +315,7 @@ def init_env(
>       )
>       ldflags_ = os.environ.get(
>           'OVERRIDE_LDFLAGS',
> @@ -39,16 +38,7 @@ Index: setup.py
>       )
>       ldflags = shlex.split(ldflags_)
>       ldflags.append('-shared')
> -@@ -344,6 +343,8 @@ def kitty_env() -> Env:
> -     cppflags.append('-DSECONDARY_VERSION={}'.format(version[1]))
> -     at_least_version('harfbuzz', 1, 5)
> -     cflags.extend(pkg_config('libpng', '--cflags-only-I'))
> -+    cflags.extend(pkg_config('libcanberra', '--cflags-only-I'))
> -+    ans.ldpaths += pkg_config('libcanberra', '--libs')
> -     cflags.extend(pkg_config('lcms2', '--cflags-only-I'))
> -     if is_macos:
> -         platform_libs = [
> -@@ -762,8 +763,6 @@ def build_launcher(args: Options, launcher_dir: str = 
> +@@ -805,8 +803,6 @@ def build_launcher(args: Options, launcher_dir: str = 
>               cflags.append('-g')
>           if args.profile:
>               libs.append('-lprofiler')
> @@ -57,12 +47,12 @@ Index: setup.py
>       if bundle_type.endswith('-freeze'):
>           cppflags.append('-DFOR_BUNDLE')
>           
> cppflags.append('-DPYVER="{}"'.format(sysconfig.get_python_version()))
> -@@ -800,7 +799,7 @@ def build_launcher(args: Options, launcher_dir: str = 
> +@@ -845,7 +841,7 @@ def build_launcher(args: Options, launcher_dir: str = 
>   
>   
>   def copy_man_pages(ddir: str) -> None:
>  -    mandir = os.path.join(ddir, 'share', 'man')
>  +    mandir = os.path.join(ddir, 'man')
>       safe_makedirs(mandir)
> +     man_levels = '15'
>       with suppress(FileNotFoundError):
> -         shutil.rmtree(os.path.join(mandir, 'man1'))
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/x11/kitty/pkg/PLIST,v
> retrieving revision 1.3
> diff -u -p -r1.3 PLIST
> --- pkg/PLIST 1 Jan 2021 16:00:46 -0000       1.3
> +++ pkg/PLIST 23 Aug 2021 12:55:24 -0000
> @@ -44,7 +44,11 @@ lib/kitty/kittens/choose/${MODPY_PYCACHE
>  
> lib/kitty/kittens/choose/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kittens/choose/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kittens/choose/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/choose/${MODPY_PYCACHE}match.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/choose/${MODPY_PYCACHE}match.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/choose/${MODPY_PYCACHE}match.${MODPY_PYC_MAGIC_TAG}pyc
>  lib/kitty/kittens/choose/main.py
> +lib/kitty/kittens/choose/match.py
>  @so lib/kitty/kittens/choose/subseq_matcher.so
>  lib/kitty/kittens/clipboard/
>  lib/kitty/kittens/clipboard/__init__.py
> @@ -68,9 +72,6 @@ lib/kitty/kittens/diff/${MODPY_PYCACHE}c
>  
> lib/kitty/kittens/diff/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kittens/diff/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kittens/diff/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kittens/diff/${MODPY_PYCACHE}config_data.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/kitty/kittens/diff/${MODPY_PYCACHE}config_data.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> -lib/kitty/kittens/diff/${MODPY_PYCACHE}config_data.${MODPY_PYC_MAGIC_TAG}pyc
>  
> lib/kitty/kittens/diff/${MODPY_PYCACHE}highlight.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  
> lib/kitty/kittens/diff/${MODPY_PYCACHE}highlight.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kittens/diff/${MODPY_PYCACHE}highlight.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -88,10 +89,31 @@ lib/kitty/kittens/diff/${MODPY_PYCACHE}s
>  lib/kitty/kittens/diff/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}pyc
>  lib/kitty/kittens/diff/collect.py
>  lib/kitty/kittens/diff/config.py
> -lib/kitty/kittens/diff/config_data.py
>  @so lib/kitty/kittens/diff/diff_speedup.so
>  lib/kitty/kittens/diff/highlight.py
>  lib/kitty/kittens/diff/main.py
> +lib/kitty/kittens/diff/options/
> +lib/kitty/kittens/diff/options/__init__.py
> +${MODPY_COMMENT}lib/kitty/kittens/diff/options/${MODPY_PYCACHE}/
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/diff/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/diff/options/definition.py
> +lib/kitty/kittens/diff/options/parse.py
> +lib/kitty/kittens/diff/options/types.py
> +lib/kitty/kittens/diff/options/utils.py
>  lib/kitty/kittens/diff/patch.py
>  lib/kitty/kittens/diff/render.py
>  lib/kitty/kittens/diff/search.py
> @@ -129,16 +151,6 @@ lib/kitty/kittens/icat/${MODPY_PYCACHE}m
>  lib/kitty/kittens/icat/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kittens/icat/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
>  lib/kitty/kittens/icat/main.py
> -lib/kitty/kittens/key_demo/
> -lib/kitty/kittens/key_demo/__init__.py
> -${MODPY_COMMENT}lib/kitty/kittens/key_demo/${MODPY_PYCACHE}/
> -lib/kitty/kittens/key_demo/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/kitty/kittens/key_demo/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> -lib/kitty/kittens/key_demo/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kittens/key_demo/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/kitty/kittens/key_demo/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> -lib/kitty/kittens/key_demo/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kittens/key_demo/main.py
>  lib/kitty/kittens/panel/
>  lib/kitty/kittens/panel/__init__.py
>  ${MODPY_COMMENT}lib/kitty/kittens/panel/${MODPY_PYCACHE}/
> @@ -190,16 +202,48 @@ lib/kitty/kittens/show_error/${MODPY_PYC
>  
> lib/kitty/kittens/show_error/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kittens/show_error/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
>  lib/kitty/kittens/show_error/main.py
> +lib/kitty/kittens/show_key/
> +lib/kitty/kittens/show_key/__init__.py
> +${MODPY_COMMENT}lib/kitty/kittens/show_key/${MODPY_PYCACHE}/
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}kitty_mode.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}kitty_mode.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}kitty_mode.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/show_key/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/show_key/kitty_mode.py
> +lib/kitty/kittens/show_key/main.py
>  lib/kitty/kittens/ssh/
>  lib/kitty/kittens/ssh/__init__.py
>  ${MODPY_COMMENT}lib/kitty/kittens/ssh/${MODPY_PYCACHE}/
>  
> lib/kitty/kittens/ssh/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  
> lib/kitty/kittens/ssh/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  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}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/completion.py
>  lib/kitty/kittens/ssh/main.py
> +lib/kitty/kittens/themes/
> +lib/kitty/kittens/themes/__init__.py
> +${MODPY_COMMENT}lib/kitty/kittens/themes/${MODPY_PYCACHE}/
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}collection.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}collection.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}collection.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kittens/themes/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kittens/themes/collection.py
> +lib/kitty/kittens/themes/main.py
>  lib/kitty/kittens/tui/
>  lib/kitty/kittens/tui/__init__.py
>  ${MODPY_COMMENT}lib/kitty/kittens/tui/${MODPY_PYCACHE}/
> @@ -259,6 +303,9 @@ ${MODPY_COMMENT}lib/kitty/kitty/${MODPY_
>  
> lib/kitty/kitty/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/${MODPY_PYCACHE}actions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/${MODPY_PYCACHE}actions.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/${MODPY_PYCACHE}actions.${MODPY_PYC_MAGIC_TAG}pyc
>  
> lib/kitty/kitty/${MODPY_PYCACHE}borders.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}borders.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}borders.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -286,12 +333,12 @@ lib/kitty/kitty/${MODPY_PYCACHE}complete
>  
> lib/kitty/kitty/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kitty/${MODPY_PYCACHE}config_data.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/kitty/kitty/${MODPY_PYCACHE}config_data.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> -lib/kitty/kitty/${MODPY_PYCACHE}config_data.${MODPY_PYC_MAGIC_TAG}pyc
>  
> lib/kitty/kitty/${MODPY_PYCACHE}constants.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}constants.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  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}guess_mime_type.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  
> lib/kitty/kitty/${MODPY_PYCACHE}guess_mime_type.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}guess_mime_type.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -322,9 +369,6 @@ lib/kitty/kitty/${MODPY_PYCACHE}notify.$
>  
> lib/kitty/kitty/${MODPY_PYCACHE}open_actions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}open_actions.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}open_actions.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kitty/${MODPY_PYCACHE}options_stub.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/kitty/kitty/${MODPY_PYCACHE}options_stub.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> -lib/kitty/kitty/${MODPY_PYCACHE}options_stub.${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
> @@ -349,6 +393,9 @@ lib/kitty/kitty/${MODPY_PYCACHE}tabs.${M
>  
> lib/kitty/kitty/${MODPY_PYCACHE}terminfo.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}terminfo.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}terminfo.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}pyc
>  
> lib/kitty/kitty/${MODPY_PYCACHE}typing.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}typing.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}typing.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -364,6 +411,7 @@ lib/kitty/kitty/${MODPY_PYCACHE}window.$
>  
> lib/kitty/kitty/${MODPY_PYCACHE}window_list.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/${MODPY_PYCACHE}window_list.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/${MODPY_PYCACHE}window_list.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/actions.py
>  lib/kitty/kitty/bgimage_fragment.glsl
>  lib/kitty/kitty/bgimage_vertex.glsl
>  lib/kitty/kitty/blit_fragment.glsl
> @@ -386,17 +434,21 @@ ${MODPY_COMMENT}lib/kitty/kitty/conf/${M
>  
> lib/kitty/kitty/conf/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/conf/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/conf/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kitty/conf/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/kitty/kitty/conf/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> -lib/kitty/kitty/conf/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/conf/${MODPY_PYCACHE}generate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/conf/${MODPY_PYCACHE}generate.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/conf/${MODPY_PYCACHE}generate.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/conf/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/conf/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/conf/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}pyc
>  
> lib/kitty/kitty/conf/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/conf/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/conf/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/kitty/kitty/conf/definition.py
> +lib/kitty/kitty/conf/generate.py
> +lib/kitty/kitty/conf/types.py
>  lib/kitty/kitty/conf/utils.py
>  lib/kitty/kitty/config.py
> -lib/kitty/kitty/config_data.py
>  lib/kitty/kitty/constants.py
> +lib/kitty/kitty/debug_config.py
>  @so lib/kitty/kitty/fast_data_types.so
>  lib/kitty/kitty/fonts/
>  lib/kitty/kitty/fonts/__init__.py
> @@ -473,7 +525,28 @@ lib/kitty/kitty/marks.py
>  lib/kitty/kitty/multiprocessing.py
>  lib/kitty/kitty/notify.py
>  lib/kitty/kitty/open_actions.py
> -lib/kitty/kitty/options_stub.py
> +lib/kitty/kitty/options/
> +lib/kitty/kitty/options/__init__.py
> +${MODPY_COMMENT}lib/kitty/kitty/options/${MODPY_PYCACHE}/
> +lib/kitty/kitty/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}definition.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}parse.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/options/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/options/definition.py
> +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/rc/
>  lib/kitty/kitty/rc/__init__.py
> @@ -502,6 +575,9 @@ lib/kitty/kitty/rc/${MODPY_PYCACHE}detac
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}disable_ligatures.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}disable_ligatures.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}disable_ligatures.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}env.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}env.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}env.${MODPY_PYC_MAGIC_TAG}pyc
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}focus_tab.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  lib/kitty/kitty/rc/${MODPY_PYCACHE}focus_tab.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/rc/${MODPY_PYCACHE}focus_tab.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -535,6 +611,9 @@ lib/kitty/kitty/rc/${MODPY_PYCACHE}new_w
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}remove_marker.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}remove_marker.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/rc/${MODPY_PYCACHE}remove_marker.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}resize_os_window.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}resize_os_window.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
> +lib/kitty/kitty/rc/${MODPY_PYCACHE}resize_os_window.${MODPY_PYC_MAGIC_TAG}pyc
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}resize_window.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
>  
> lib/kitty/kitty/rc/${MODPY_PYCACHE}resize_window.${MODPY_PYC_MAGIC_TAG}opt-2.pyc
>  lib/kitty/kitty/rc/${MODPY_PYCACHE}resize_window.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -575,6 +654,7 @@ lib/kitty/kitty/rc/create_marker.py
>  lib/kitty/kitty/rc/detach_tab.py
>  lib/kitty/kitty/rc/detach_window.py
>  lib/kitty/kitty/rc/disable_ligatures.py
> +lib/kitty/kitty/rc/env.py
>  lib/kitty/kitty/rc/focus_tab.py
>  lib/kitty/kitty/rc/focus_window.py
>  lib/kitty/kitty/rc/get_colors.py
> @@ -586,6 +666,7 @@ lib/kitty/kitty/rc/launch.py
>  lib/kitty/kitty/rc/ls.py
>  lib/kitty/kitty/rc/new_window.py
>  lib/kitty/kitty/rc/remove_marker.py
> +lib/kitty/kitty/rc/resize_os_window.py
>  lib/kitty/kitty/rc/resize_window.py
>  lib/kitty/kitty/rc/scroll_window.py
>  lib/kitty/kitty/rc/send_text.py
> @@ -606,6 +687,7 @@ lib/kitty/kitty/tabs.py
>  lib/kitty/kitty/terminfo.py
>  lib/kitty/kitty/tint_fragment.glsl
>  lib/kitty/kitty/tint_vertex.glsl
> +lib/kitty/kitty/types.py
>  lib/kitty/kitty/typing.py
>  lib/kitty/kitty/update_check.py
>  lib/kitty/kitty/utils.py
> @@ -614,8 +696,8 @@ lib/kitty/kitty/window_list.py
>  lib/kitty/logo/
>  lib/kitty/logo/beam-cursor.png
>  lib/kitty/logo/[email protected]
> +lib/kitty/logo/kitty-128.png
>  lib/kitty/logo/kitty.png
> -lib/kitty/logo/kitty.rgba
>  lib/kitty/terminfo/
>  lib/kitty/terminfo/x/
>  lib/kitty/terminfo/x/xterm-kitty
> @@ -639,19 +721,25 @@ share/doc/kitty/html/_images/screenshot.
>  share/doc/kitty/html/_images/splits.png
>  share/doc/kitty/html/_images/unicode.png
>  share/doc/kitty/html/_sources/
> +share/doc/kitty/html/_sources/actions.rst.txt
>  share/doc/kitty/html/_sources/binary.rst.txt
>  share/doc/kitty/html/_sources/build.rst.txt
>  share/doc/kitty/html/_sources/changelog.rst.txt
> +share/doc/kitty/html/_sources/clipboard.rst.txt
> +share/doc/kitty/html/_sources/color-stack.rst.txt
>  share/doc/kitty/html/_sources/conf.rst.txt
> +share/doc/kitty/html/_sources/deccara.rst.txt
> +share/doc/kitty/html/_sources/desktop-notifications.rst.txt
>  share/doc/kitty/html/_sources/faq.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/glossary.rst.txt
>  share/doc/kitty/html/_sources/graphics-protocol.rst.txt
>  share/doc/kitty/html/_sources/index.rst.txt
>  share/doc/kitty/html/_sources/integrations.rst.txt
>  share/doc/kitty/html/_sources/invocation.rst.txt
> -share/doc/kitty/html/_sources/key-encoding.rst.txt
> +share/doc/kitty/html/_sources/keyboard-protocol.rst.txt
>  share/doc/kitty/html/_sources/kittens/
>  share/doc/kitty/html/_sources/kittens/broadcast.rst.txt
>  share/doc/kitty/html/_sources/kittens/clipboard.rst.txt
> @@ -663,49 +751,78 @@ 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/themes.rst.txt
>  share/doc/kitty/html/_sources/kittens/unicode-input.rst.txt
> +share/doc/kitty/html/_sources/kittens_intro.rst.txt
>  share/doc/kitty/html/_sources/launch.rst.txt
>  share/doc/kitty/html/_sources/layouts.rst.txt
>  share/doc/kitty/html/_sources/marks.rst.txt
>  share/doc/kitty/html/_sources/open_actions.rst.txt
> +share/doc/kitty/html/_sources/overview.rst.txt
>  share/doc/kitty/html/_sources/performance.rst.txt
>  share/doc/kitty/html/_sources/pipe.rst.txt
>  share/doc/kitty/html/_sources/protocol-extensions.rst.txt
> +share/doc/kitty/html/_sources/quickstart.rst.txt
>  share/doc/kitty/html/_sources/rc_protocol.rst.txt
>  share/doc/kitty/html/_sources/remote-control.rst.txt
> +share/doc/kitty/html/_sources/shell-integration.rst.txt
>  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/alabaster.css
>  share/doc/kitty/html/_static/basic.css
> +share/doc/kitty/html/_static/check-solid.svg
> +share/doc/kitty/html/_static/clipboard.min.js
> +share/doc/kitty/html/_static/copy-button.svg
> +share/doc/kitty/html/_static/copybutton.css
> +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/doctools.js
>  share/doc/kitty/html/_static/documentation_options.js
>  share/doc/kitty/html/_static/file.png
> -share/doc/kitty/html/_static/jquery-3.4.1.js
>  share/doc/kitty/html/_static/jquery-3.5.1.js
>  share/doc/kitty/html/_static/jquery.js
> -share/doc/kitty/html/_static/kitty.png
> +share/doc/kitty/html/_static/kitty.svg
>  share/doc/kitty/html/_static/language_data.js
>  share/doc/kitty/html/_static/minus.png
>  share/doc/kitty/html/_static/plus.png
>  share/doc/kitty/html/_static/pygments.css
> +share/doc/kitty/html/_static/pygments_dark.css
> +share/doc/kitty/html/_static/scripts/
> +share/doc/kitty/html/_static/scripts/main.js
> +share/doc/kitty/html/_static/scripts/main.js.map
>  share/doc/kitty/html/_static/searchtools.js
> -share/doc/kitty/html/_static/underscore-1.3.1.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
> +share/doc/kitty/html/_static/styles/furo.css
> +share/doc/kitty/html/_static/styles/furo.css.map
> +share/doc/kitty/html/_static/tabs.css
> +share/doc/kitty/html/_static/tabs.js
> +share/doc/kitty/html/_static/underscore-1.13.1.js
>  share/doc/kitty/html/_static/underscore.js
> +share/doc/kitty/html/actions.html
>  share/doc/kitty/html/binary.html
>  share/doc/kitty/html/build.html
>  share/doc/kitty/html/changelog.html
> +share/doc/kitty/html/clipboard.html
> +share/doc/kitty/html/color-stack.html
>  share/doc/kitty/html/conf.html
> +share/doc/kitty/html/deccara.html
> +share/doc/kitty/html/desktop-notifications.html
>  share/doc/kitty/html/faq.html
>  share/doc/kitty/html/generated/
>  share/doc/kitty/html/generated/launch.html
>  share/doc/kitty/html/generated/rc.html
>  share/doc/kitty/html/genindex.html
> +share/doc/kitty/html/glossary.html
>  share/doc/kitty/html/graphics-protocol.html
>  share/doc/kitty/html/index.html
>  share/doc/kitty/html/integrations.html
>  share/doc/kitty/html/invocation.html
> -share/doc/kitty/html/key-encoding.html
> +share/doc/kitty/html/keyboard-protocol.html
>  share/doc/kitty/html/kittens/
>  share/doc/kitty/html/kittens/broadcast.html
>  share/doc/kitty/html/kittens/clipboard.html
> @@ -717,21 +834,29 @@ 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/themes.html
>  share/doc/kitty/html/kittens/unicode-input.html
> +share/doc/kitty/html/kittens_intro.html
>  share/doc/kitty/html/launch.html
>  share/doc/kitty/html/layouts.html
>  share/doc/kitty/html/marks.html
>  share/doc/kitty/html/objects.inv
>  share/doc/kitty/html/open_actions.html
> +share/doc/kitty/html/overview.html
>  share/doc/kitty/html/performance.html
>  share/doc/kitty/html/pipe.html
>  share/doc/kitty/html/protocol-extensions.html
> +share/doc/kitty/html/quickstart.html
>  share/doc/kitty/html/rc_protocol.html
>  share/doc/kitty/html/remote-control.html
>  share/doc/kitty/html/search.html
>  share/doc/kitty/html/searchindex.js
> +share/doc/kitty/html/shell-integration.html
>  share/doc/kitty/html/support.html
> +share/doc/kitty/html/underlines.html
> +share/doc/kitty/html/unscroll.html
>  share/icons/hicolor/256x256/apps/kitty.png
> +share/icons/hicolor/scalable/apps/kitty.svg
>  share/terminfo/
>  share/terminfo/x/
>  share/terminfo/x/xterm-kitty
> 

-- 
Paco Esteban.
0x5818130B8A6DBC03

Reply via email to