Skip to main content
Version: 0.3.3

kitty

Generates a single-file colour theme for kitty, Kovid Goyal's GPU-accelerated terminal emulator. The file lives in kitty's themes/ directory and is wired into your kitty.conf with a one-line include.

Installation

Built into tinct — nothing to install separately. tinct generate -o kitty works out of the box.

Quick start

tinct generate -i image -p ~/Pictures/wallpaper.jpg -o kitty

Generated files

FilePathRole
tinct.conf~/.config/kitty/themes/tinct.confSingle-file theme — foreground, background, cursor, selection, URL, tab bar, borders, mark colours and the 16-colour color0..color15 ANSI palette.

Generated format

# Kitty theme generated by tinct

foreground #cdd6f4
background #1e1e2e

selection_foreground #1e1e2e
selection_background #f5e0dc

cursor #f5e0dc
cursor_text_color #1e1e2e

# Black
color0 #45475a
color8 #585b70

# Red
color1 #f38ba8
color9 #f38ba8

# Green
color2 #a6e3a1
color10 #a6e3a1

# Yellow
color3 #f9e2af
color11 #f9e2af

# Blue
color4 #89b4fa
color12 #89b4fa

# Magenta
color5 #f5c2e7
color13 #f5c2e7

# Cyan
color6 #94e2d5
color14 #94e2d5

# White
color7 #bac2de
color15 #a6adc8

Integration

Add a single line to your ~/.config/kitty/kitty.conf:

include themes/tinct.conf

(kitty resolves include paths relative to kitty.conf's directory.) After saving, send the reload signal — or just save kitty.conf from inside kitty and use Ctrl+Shift+F5 to reload.

Heads up — kitten themes conflict. If you previously ran kitten themes it added a # BEGIN_KITTY_THEME / current-theme.conf block to your kitty.conf. If that block sits after your include themes/tinct.conf line, it overrides tinct's colours. The plugin detects this on each run and prints a warning telling you to either delete the kitten block or move the tinct include below it.

Reload behaviour

Automatic

After writing the file, the plugin broadcasts SIGUSR1 to every running kitty process:

pkill -USR1 -x kitty

kitty's signal handler re-reads kitty.conf (and all included files) and applies the new colours in-place. On Windows the signal mechanism is unavailable — the hook warns and skips the broadcast.

Manual fallback

If kitty wasn't running at generate time, or you skipped the signal:

  • In-app: Ctrl+Shift+F5 (reload config).
  • Out-of-band: kitten @ set-colors --all ~/.config/kitty/themes/tinct.conf (requires allow_remote_control yes in kitty.conf).

Uninstall / revert

  1. Remove the include line from your ~/.config/kitty/kitty.conf:

    Delete the include themes/tinct.conf line.

  2. Delete the generated file:

    rm ~/.config/kitty/themes/tinct.conf
  3. Reload to drop the theme:

    pkill -USR1 -x kitty
  4. External state: this plugin only writes to ~/.config/kitty/themes/. No further cleanup is required. If you'd previously used kitten themes, the current-theme.conf it manages is untouched.

Flags

FlagDefaultDescription
--kitty.output-dir~/.config/kitty/themesOverride the output directory

Colour role mapping

kitty keyTinct role
foregroundforeground
backgroundbackground
selection_foregroundbackground
selection_backgroundaccent1
cursoraccent1
cursor_text_colorbackground
url_colorinfo
tab_bar_backgroundbackground
active_tab_foreground / active_tab_backgroundbackground / accent1
inactive_tab_foreground / inactive_tab_backgroundforeground / accent1Muted (falls back to backgroundMuted)
active_border_coloraccent1
inactive_border_colorborder (falls back to accent2Muted)
bell_border_colorwarning
mark1_* / mark2_* / mark3_*accent1 / accent2 / accent3
color0..color7ANSI black..white
color8..color15ANSI brightblack..brightwhite

Customising the template

Extract the default template to override it:

tinct plugins templates dump -o kitty -l ~/.config/tinct/templates/kitty

This writes ~/.config/tinct/templates/kitty/tinct.conf.tmpl. Tinct uses your version in preference to the embedded default.

See the templating reference for the available functions and palette accessors.

Troubleshooting

Warning: "Conflicting theme configuration detected"

Your kitty.conf includes both themes/tinct.conf and current-theme.conf (from the kitten themes picker), with the kitten block ordered after tinct's include — so kitten's colours win. Fix by either deleting the # BEGIN_KITTY_THEME ... # END_KITTY_THEME block, or moving include themes/tinct.conf below it.

Colours don't change after generation

Verify the include made it in and the signal was delivered:

grep tinct.conf ~/.config/kitty/kitty.conf
pgrep -x kitty && pkill -USR1 -x kitty

If kitty was running on Wayland under a different user namespace, pkill may not reach it — reload from inside the terminal with Ctrl+Shift+F5.

kitten not on PATH

kitten ships with kitty but some distros split it out. It's optional here — it's only used for the manual @ set-colors reload path; the automatic reload uses SIGUSR1, not kitten.

  • alacritty, ghostty, wezterm — other GPU-accelerated terminals.
  • tmux — pair the terminal palette with a matching multiplexer status bar.