Slatewave (kitty)

May 4, 2026 · View on GitHub

Slatewave

Slatewave (kitty)

A Slatewave theme for kitty — slate foundation, teal signature. Part of the Slatewave family — one palette across editors, terminals, prompts, notes, and more.

Slate below, teal above.


What it styles

Slatewave for kitty ships as two files. Pick one:

  • slatewave.conf — palette only. Colors, cursor tint, selection, URL hover, window borders, tab bar, marks, and all 16 ANSI slots. Composes with whatever font, window, and cursor-shape settings you already have.
  • slatewave-full.conf — palette + opinionated typography. Includes slatewave.conf, then adds Hack Nerd Font Mono at 14pt, a non-blinking block cursor, and a fully opaque, unblurred window. Use this if you want the whole Slatewave house style in one include.

The palette itself is tuned against kitty's full color schema — not just the 16 ANSI colors. It sets:

  • ANSI 0–15 — mirrored from the VSCode Slatewave terminal block so ls --color, git diff, and 256-color TUIs all read identically across your editor and terminal
  • Background — slate #282c34, matching the VSCode editor background
  • Foreground — slate-200 #e2e8f0, matching the VSCode editor foreground
  • Cursor — teal #5eead4 with slate-background text, so the block cursor stays legible
  • Selection — slate-700 #334155 with slate-200 text, for a calm, non-competing highlight
  • URL hover — sky #38bdf8, matching link accents in the editor
  • Window borders — teal #5eead4 on the focused split, slate-700 #334155 on inactive splits, amber #fbbf24 for the bell border
  • macOS / Wayland titlebar — tinted to the slate background so the chrome blends with the terminal
  • Tab bar — teal-on-slate for the active tab, slate-300 on the editor background for inactive, chrome #21252b for the bar itself (matching the VSCode activity bar)
  • Marks — rose / amber / sky for mark1 / mark2 / mark3, mirroring the editor's error / warning / info accents

Installation

brew tap kevinlangleyjr/slatewave
brew install slatewave
slatewave install kitty

Installs the full bundle (palette + Hack Nerd Font Mono + block cursor + opaque window), drops both theme files into ~/.config/kitty/, and adds include slatewave-full.conf to your kitty.conf. Reload with cmd+ctrl+, (macOS) or ctrl+shift+F5 (Linux/Windows). To remove cleanly: slatewave uninstall kitty.

Manual — palette + typography (slatewave-full.conf)

The full bundle includes slatewave.conf and layers font / cursor / window defaults on top, so you need both files in the same directory. Requires Hack Nerd Font — specifically the Mono variant, so Nerd icons stay single-cell in lazygit, btop, and ls.

mkdir -p ~/.config/kitty
curl -fsSL https://raw.githubusercontent.com/kevinlangleyjr/kitty-slatewave/main/slatewave-full.conf \
  -o ~/.config/kitty/slatewave-full.conf
curl -fsSL https://raw.githubusercontent.com/kevinlangleyjr/kitty-slatewave/main/slatewave.conf \
  -o ~/.config/kitty/slatewave.conf

Then in ~/.config/kitty/kitty.conf:

include slatewave-full.conf

Reload with cmd+ctrl+, (macOS) or ctrl+shift+F5 (Linux/Windows) — no restart needed.

Manual — palette only (slatewave.conf)

If you don't want the typography opinions and just want the colors, drop only the base palette:

mkdir -p ~/.config/kitty
curl -fsSL https://raw.githubusercontent.com/kevinlangleyjr/kitty-slatewave/main/slatewave.conf \
  -o ~/.config/kitty/slatewave.conf

Then in ~/.config/kitty/kitty.conf:

include slatewave.conf

From a local clone

git clone https://github.com/kevinlangleyjr/kitty-slatewave
cp kitty-slatewave/slatewave.conf      ~/.config/kitty/
cp kitty-slatewave/slatewave-full.conf ~/.config/kitty/  # optional

Inline

If you'd rather not manage a separate theme file, paste the contents of slatewave.conf directly into your ~/.config/kitty/kitty.conf — every option is a top-level kitty config key.


Palette

Slatewave shares its palette with the companion themes. The anchor colors:

HexTailwindRole
#282c34#282c34background, inactive tab
#21252b#21252btab bar
#334155#334155slate-700selection, inactive border
#1e293b#1e293bslate-800ANSI 0 (black)
#cbd5e1#cbd5e1slate-300inactive tab text
#e2e8f0#e2e8f0slate-200foreground, ANSI 7 (white)
#5eead4#5eead4teal-300cursor, active tab, active border, ANSI 2 (green)
#99f6e4#99f6e4teal-200ANSI 10 (bright green)
#7dd3fc#7dd3fcsky-300ANSI 12 (bright blue)
#38bdf8#38bdf8sky-400url hover, mark3, ANSI 4 (blue)
#b388ff#b388ffANSI 5 (magenta)
#fb7185#fb7185rose-400mark1, ANSI 1 (red)
#fbbf24#fbbf24amber-400bell border, mark2, ANSI 11 (bright yellow)

ANSI mapping

Mirrors the terminal.ansi* block from vscode-slatewave so shell output is consistent across editor and terminal.

SlotNormalBright
Black#1e293b slate-800#475569 slate-600
Red#fb7185 rose-400#ef5350
Green#5eead4 teal-300#99f6e4 teal-200
Yellow#b45309 amber-700#fbbf24 amber-400
Blue#38bdf8 sky-400#7dd3fc sky-300
Magenta#b388ff#c4b5fd violet-300
Cyan#0e7490 cyan-700#67e8f9 cyan-300
White#e2e8f0 slate-200#f1f5f9 slate-100

Customize

The theme file is a plain kitty config fragment — every entry is a top-level option. To override a single color without forking, put the override after the include line in ~/.config/kitty/kitty.conf:

include slatewave.conf

# Override just the cursor
cursor            #99f6e4
cursor_text_color #282c34

Later values win in kitty's parse order, so the override takes effect without editing the theme file itself.


Slatewave family

One palette. Every tool.

See getslatewave.com for the full family.


Contributing

Issues and PRs welcome. For palette changes, include a before/after screenshot of the same terminal session (ls --color, git diff, a TUI like lazygit or btop) so the visual tradeoff is obvious.


License

WTFPL — Do What The Fuck You Want To Public License. See LICENSE.