{"id":13586157,"url":"https://github.com/fretboardfreak/kitty-theme-changer","last_synced_at":"2025-04-07T14:33:40.152Z","repository":{"id":136854553,"uuid":"231002673","full_name":"fretboardfreak/kitty-theme-changer","owner":"fretboardfreak","description":"Obsolete: use \"kitty +kittens themes\"","archived":false,"fork":false,"pushed_at":"2021-01-19T01:46:25.000Z","size":45,"stargazers_count":25,"open_issues_count":4,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-02-14T21:23:36.857Z","etag":null,"topics":["color-schemes","kitty","kitty-terminal","python3","terminal","terminal-themes","theme-switcher","tools","utilities"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fretboardfreak.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-31T01:13:10.000Z","updated_at":"2024-08-01T16:32:08.944Z","dependencies_parsed_at":"2023-03-22T04:03:49.169Z","dependency_job_id":null,"html_url":"https://github.com/fretboardfreak/kitty-theme-changer","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fretboardfreak%2Fkitty-theme-changer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fretboardfreak%2Fkitty-theme-changer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fretboardfreak%2Fkitty-theme-changer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fretboardfreak%2Fkitty-theme-changer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fretboardfreak","download_url":"https://codeload.github.com/fretboardfreak/kitty-theme-changer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247670465,"owners_count":20976574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["color-schemes","kitty","kitty-terminal","python3","terminal","terminal-themes","theme-switcher","tools","utilities"],"created_at":"2024-08-01T15:05:21.639Z","updated_at":"2025-04-07T14:33:40.142Z","avatar_url":"https://github.com/fretboardfreak.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"===================\nKitty Theme Changer\n===================\n\n:author: Curtis Sand\n:author_email: curtissand@gmail.com\n:repository: https://github.com/fretboardfreak/kitty-theme-changer.git\n\nChange Kitty Terminal Themes Easily!\n\nKitty Theme Changer provides simple CLI script that will help you test out and\nchange theme configuration files for the Kitty Terminal Emulator.\n\n----\n\nTable of Contents:\n\n#. `Installation`_\n\n#. `Configuration`_\n\n#. `Tips and Tricks`_\n\n   #. `First Run`_\n\n   #. `Kitty Configuration Tips`_\n\n----\n\nFor more information on the terminal visit: https://github.com/kovidgoyal/kitty\n\nThe Kitty Theme Changer script has been tested with the collection of themes\nfound in the kitty-themes repository: https://github.com/dexpota/kitty-themes\n\nInstallation\n============\n\nThe recommended method for installing the Kitty Theme Changer is to use ``pip``\nto install the package into your python environment. This can be done safely\ninside a python virtual environment or using the ``--user`` flag on ``pip``\ninstall to install the script in your home directory.\n\nHome directory install::\n\n    pip install --user git+git://github.com/fretboardfreak/kitty-theme-changer.git@master\n\nNote that you *can* install the Kitty Theme Changer into the system's core\npython installation but I feel that python package management is a bit cleaner\nif user installed packages are kept out of the system directories.\n\nInside a Python Virtual Environment::\n\n    python -m venv my_python_env\n    my_python_env/bin/pip install git+git://github.com/fretboardfreak/kitty-theme-changer.git@master\n\n\n.. note:: The above URI will install the latest development version of the\n          Kitty Theme Changer. To instead install one of the tagged releases\n          replace ``@master`` with ``@RELEASE`` where the text RELEASE is the\n          tagged version (e.g. ``...kitty-theme-changer.git@0.1``).\n\nAs an alternative you could clone this repository and execute the script\ndirectly. This method would not leverage the setuptools entrypoint and would\ndepend on you ensuring that the script is available in your PATH variable\nyourself.\n\nConfiguration\n=============\n\n1. First step in configuring the Kitty Theme Changer is to download a set of\n   themes for kitty (recommendation: https://github.com/dexpota/kitty-themes).\n\n2. Second step is to configure kitty to include a theme config\n   file. To do this add the line ``include ./theme.conf`` in your\n   kitty.conf file.\n\n3. Third and final step is to create the Kitty Theme Changer\n   config file which will point to the correct paths for the\n   themes you've collected.\n\n   The Kitty theme changer uses a simple python module as\n   a configuration file. By default this is '~/.kittythemechanger.py'.\n   The list of required variables and their types are:\n\n   - theme_dir (pathlib.Path): Directory of Kitty theme.conf files.\n\n   - conf_dir (pathlib.Path): Directory Kitty looks in for theme.conf\n\n   - theme_link (pathlib.Path): Symlink file Kitty loads from kitty.conf\n\n   - light_theme_link (pathlib.Path): Symlink to a 'light' theme config file.\n\n   - dark_theme_link (pathlib.Path): Symlink to a 'dark' theme config file.\n\n   - socket (str): a Kitty compatible socket string for the '--listen-on' flag. See 'man kitty'.\n\n   An example .kittythemechanger.py file is shown below::\n\n       '''A config module for the Kitty Theme Changer Tool.'''\n       from pathlib import Path\n       from os import getpid\n       from psutil import process_iter\n\n       theme_dir = Path('~/kitty-themes/themes').expanduser()\n       conf_dir = Path('~/.config/kitty').expanduser()\n       theme_link = conf_dir.joinpath('theme.conf')\n       light_theme_link = conf_dir.joinpath('light-theme.conf')\n       dark_theme_link = conf_dir.joinpath('dark-theme.conf')\n\n       def kitty_pid():\n         ps = {x.pid: x for x in psutil.process_iter(['name', 'pid', 'ppid'])}\n         cp = ps[getpid()]\n         while cp.name() != 'kitty':\n            cp = cp.parent()\n         return cp.pid\n\n       socket = 'unix:/tmp/kitty-socket-{}'.format(kitty_pid())\n\nTips and Tricks\n===============\n\nFirst Run\n---------\n\nOn the first run the Kitty Theme Changer script will randomly choose a theme to\nset as both the light and dark theme. It does this to create the 3 symlinks in\nthe kitty configuration directory pointed to by the config file. One pointing\nto a light theme, one pointing to a dark theme and a third that ties the kitty\nconfiguration with one of the light or dark links. (kitty.conf -\u003e theme.conf -\u003e\nlight-theme.conf -\u003e actual theme file). You can prevent a random theme from\nbeing chosen by creating the light and dark symlink files manually (the file\nnames are set in your Kitty Theme Changer configuration file.) or you can\nsimply set your themes to your preference after the first run.\n\nKitty Configuration Tips\n------------------------\n\n- Kitty Terminal Emulator Site: https://sw.kovidgoyal.net/kitty/index.html\n- Kitty Terminal Configuration Docs: https://sw.kovidgoyal.net/kitty/conf.html\n\nThe main features of the Kitty Theme Changer tool - listing themes, setting a\ndark or light theme, toggling between configured themes - can be used without\nany additional tweaks to the Kitty Terminal config.\n\nHowever, the \"--test\" and \"--live\" features require some settings in order to\nwork correctly.\n\n- Kitty Remote Control: The remote control feature must be turned on. Either\n  with a value of \"yes\" or a value of \"socket-only\" to limit remote control\n  commands to only use the socket specified in the \"--listen-on\" flag when\n  running kitty. ::\n\n      allow_remote_control yes\n\n- Kitty Socket: Any launchers or aliases that you use to start kitty should\n  include a \"--listen-on\" option. The socket string that you choose for the\n  \"--listen-on\" flag should match the socket string in your Kitty Theme Changer\n  configuration file. You can also use \"listen_on unix:/tmp/kitty-socket\" in kitty.conf\n\n- Single Instance/Instance Groups: For the \"--live\" feature to change the color\n  theme for all running windows it is useful to run kitty with the\n  ``--single-instance`` option turned on.\n\n  If you want the Kitty Theme Changer to modify only a set of kitty windows\n  then you can make all those windows part of the same Kitty instance using the\n  ``--instance-group GROUPNAME`` flag.\n\n\n.. EOF README\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffretboardfreak%2Fkitty-theme-changer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffretboardfreak%2Fkitty-theme-changer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffretboardfreak%2Fkitty-theme-changer/lists"}