Changing kitty colors#
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:
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
New in version 0.23.0: The themes kitten
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
~/.config/kitty/current-theme.conf and adds an include for
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.
Using your own themes#
You can also create your own themes as
.conf files. Put them in the
themes sub-directory of the kitty config directory,
~/.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
Some theme name.conf to override the builtin
theme of that name. Here,
Some theme name 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.
Contributing new themes#
If you wish to contribute a new theme to the kitty theme repository, start by
going to the kitty-themes
repository. Fork it, and use the
template.conf as a
template when creating your theme. Once you are satisfied with how it looks,
submit a pull request
to have your theme merged into the kitty-themes repository, which will make it
available in this kitten automatically.
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
Dimmed Monokai in all running kitty instances. See
below for more details on non-interactive operation.
Source code for themes#
The source code for this kitten is available on GitHub.
Command Line Interface#
kitty +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.
- --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:
- --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:
When running non-interactively, dump the specified theme to STDOUT instead of changing kitty.conf. Default:
- --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
include themes.confto your kitty.conf and then have the kitten operate only on
kitty.confto remain unchanged. Default: