Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comfy — Terminals

Terminal ports of Comfy, a theme designed for endurance rather than looks. Two variants, Comfy (light, the default) and Comfy Night.

Supports Warp, Ghostty, iTerm2, Alacritty, kitty, WezTerm, and Windows Terminal.

Comfy in a terminal

Comfy Night in a terminal

Why the colours sit where they do

The six chromatic ANSI slots are held inside a narrow contrast band — 5.69–6.50:1 in light, 7.47–7.71:1 in dark. A noisy build log stays one even texture instead of a fruit salad, because hue distinguishes meaning while brightness stays flat.

Two deliberate exceptions:

Black and white sit outside the band. They are structural slots, not chromatic ones — programs use them as near-background. Light-mode white is a pale grey at 3.21:1 on purpose; forcing it into the band would break every tool that expects it to recede.

Bright colours go darker in light mode, not lighter. Convention says bright means lighter, which on a paper ground makes bold output nearly invisible. Here bright is more saturated and darker, so bold stays readable.

Blue is the one forced compromise. The palette otherwise avoids saturated short-wavelength blue, because longitudinal chromatic aberration leaves ~440nm around one dioptre defocused and S-cones are absent from the foveal centre. The ANSI spec mandates a blue slot, so it is shifted to hue 200–210 and held low in saturation. It remains the weakest colour optically.

Install

Each command has a comfy and a comfy-night file. Substitute as you prefer.

Warp

cp warp/comfy.yaml ~/.warp/themes/

Then Cmd/Ctrl+POpen Theme Pickercomfy.

To set it in ~/.warp/settings.toml instead, a custom theme needs the inline-table form, with path relative to ~/.warp/themes/:

[appearance.themes]
theme = { custom = { name = "Comfy", path = "comfy.yaml" } }

The plain string form (theme = "comfy") will not work — that field only accepts Warp's bundled theme IDs, and a custom name there fails validation.

Ghostty

cp ghostty/comfy ~/.config/ghostty/themes/

Then in ~/.config/ghostty/config:

theme = comfy

iTerm2

Settings → Profiles → Colors → Color Presets → Import, then pick iterm2/comfy.itermcolors.

Alacritty

cp alacritty/comfy.toml ~/.config/alacritty/

Then in alacritty.toml:

general.import = ["~/.config/alacritty/comfy.toml"]

kitty

cp kitty/comfy.conf ~/.config/kitty/

Then in kitty.conf:

include comfy.conf

WezTerm

mkdir -p ~/.config/wezterm/colors
cp wezterm/comfy.toml ~/.config/wezterm/colors/

Then in wezterm.lua:

config.color_scheme = 'Comfy'

Windows Terminal

Paste the contents of windows-terminal/comfy.json into the schemes array in settings.json, then set "colorScheme": "Comfy" on a profile.

Palette

Slot Comfy Comfy Night
Background #F3F1EC #1B1D1C
Foreground #2C2A26 #D8D4CA
Cursor, accent #3F7A5E #78B894
Red #8A4B33 #D89F8C
Green #55651F #A1B76A
Yellow #6F5A24 #C3AC84
Blue #3D5F80 #8FB2C4
Magenta #6A4A78 #BCA6CA
Cyan #2F6560 #7CB8AE

Editing

Never edit the generated files. Change palette/comfy.json, then:

node scripts/build.mjs

That regenerates all fourteen files — seven formats × two variants — and fails if a chromatic slot drops below 4.5:1 or the band spreads past 1.5 points.

The same palette drives the VS Code theme. Keep the two copies in step when you change a colour.

Licence

MIT

About

Comfy colour scheme for Warp, Ghostty, iTerm2, Alacritty, kitty, WezTerm and Windows Terminal. Light and dark, generated from one palette.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages