kitten-themes - Manage kitty color schemes easily
Contents
Change Color Themes Automatically When The Os Switches Between Light And Dark
Added in version 0.38.0.
You can have kitty automatically change its color theme when the OS switches between dark, light and
no-preference modes. In order to do this, run the theme kitten as normal and at the final screen select
the option to save your chosen theme as either light, dark, or no-preference. Repeat until you have
chosen a theme for each of the three modes. Then, once you restart kitty, it will automatically use your
chosen themes depending on the OS color scheme.
This works by creating three files: dark-theme.auto.conf, light-theme.auto.conf and
no-preference-theme.auto.conf in the kitty config directory. When these files exist, kitty queries the OS
for its color scheme and uses the appropriate file. Note that the colors in these files override all
other colors, even those specified using the kitty--override command line flag. kitty will also
automatically change colors when the OS color scheme changes, for example, during night/day transitions.
When using these colors, you can still dynamically change colors, but the next time the OS changes its
color mode, any dynamic changes will be overridden.
Changing The Theme Non-Interactively
You can specify the theme name as an argument when invoking the kitten to have it change to that theme
instantly. For example:
kitten themes --reload-in=all Dimmed Monokai
Will change the theme to DimmedMonokai in all running kitty instances. See below for more details on
non-interactive operation.
Command Line Interface
kitten themes [options] [theme name to switch to]
Change the kitty theme. If no theme name is supplied, run interactively, otherwise change the current
theme to the specified theme name.
Options--cache-age<CACHE_AGE>
Check for new themes only after the specified number of days. A value of zero will always check
for new themes. A negative value will never check for new themes, instead raising an error if a
local copy of the themes is not available. Default: 1--reload-in<RELOAD_IN>
By default, this kitten will signal only the parent kitty instance it is running in to reload its
config, after making changes. Use this option to instead either not reload the config at all or in
all running kitty instances. Default: parent Choices: all, none, parent--dump-theme
When running non-interactively, dump the specified theme to STDOUT instead of changing kitty.conf.
Default: false--config-file-name<CONFIG_FILE_NAME>
The name or path to the config file to edit. Relative paths are interpreted with respect to the
kitty config directory. By default the kitty config file, kitty.conf is edited. This is most
useful if you add includethemes.conf to your kitty.conf and then have the kitten operate only on
themes.conf, allowing kitty.conf to remain unchanged. Default: kitty.confContributing New Themes
If you wish to contribute a new theme to the kitty theme repository, start by going to the kitty-themes
repository. Forkit, and use the file template.conf as a template when creating your theme. Once you are
satisfied with how it looks, submitapullrequest to have your theme merged into the kitty-themes
repository, which will make it available in this kitten automatically.
Copyright
2025, Kovid Goyal
0.39.1 Feb 16, 2025 kitten-themes(1)
How It Works
A theme in kitty is just a .conf file containing kitty settings. When you select a theme, the kitten
simply copies the .conf file to ~/.config/kitty/current-theme.conf and adds an include for
current-theme.conf to kitty.conf. It also comments out any existing color settings in kitty.conf so they
do not interfere.
Once that's done, the kitten sends kitty a signal to make it reload its config.
NOTE:
If you want to have some color settings in your kitty.conf that the theme kitten does not override,
move them into a separate conf file and include it into kitty.conf. The include should be placed after
the inclusion of current-theme.conf so that the settings in it override conflicting settings from
current-theme.conf.
Name
kitten-themes - Manage kitty color schemes easily
Overview
The themes kitten allows you to easily change color themes, from a collection of over three hundred
pre-built themes available at kitty-themes. To use it, simply run:
kitten themes
The kitten allows you to pick a theme, with live previews of the colors. You can choose between light and
dark themes and search by theme name by just typing a few characters from the name.
The kitten maintains a list of recently used themes to allow quick switching.
If you want to restore the colors to default, you can do so by choosing the Default theme.
Added in version 0.23.0: The themes kitten
Source Code For Themes
The source code for this kitten is availableonGitHub.
Using Your Own Themes
You can also create your own themes as .conf files. Put them in the themes sub-directory of the kittyconfigdirectory, usually, ~/.config/kitty/themes. The kitten will automatically add them to the list of
themes. You can use this to modify the builtin themes, by giving the conf file the name Somethemename.conf to override the builtin theme of that name. Here, Somethemename is the actual builtin theme
name, not its file name. Note that after doing so you have to run the kitten and choose that theme once
for your changes to be applied.
