Wide gamut color formats¶
kitty supports modern wide gamut color formats for precise color specification. These formats can be used anywhere a color value is accepted in the configuration (foreground, background, color0-color255, etc.).
OKLCH Colors¶
OKLCH is a perceptually uniform color space, ideal for creating color themes. The format is:
foreground oklch(0.9 0.05 140)
color1 oklch(0.7 0.25 25)
Parameters:
L (Lightness): 0 to 1, where 0 is black and 1 is white
C (Chroma): 0 to approximately 0.4, represents color saturation
H (Hue): 0 to 360 degrees (0=red, 120=green, 240=blue)
Benefits:
Perceptually uniform - equal changes produce equal perceived differences
Adjusting lightness preserves hue (unlike HSL)
Industry standard for modern color design
Example:
foreground oklch(0.9 0.05 140)
color1 oklch(0.65 0.25 29) # Vibrant red-orange
color2 oklch(0.65 0.25 142) # Vibrant green
color3 oklch(0.70 0.19 90) # Warm yellow
CIE LAB Colors¶
CIE LAB is a device-independent color space designed to approximate human vision.
The format is:
background lab(20 5 -10)
color4 lab(50 0 -50)
Parameters:
L: Lightness, 0 to 100 (0 = black, 100 = white)
a: Green (-) to red (+), typically -100 to +100
b: Blue (-) to yellow (+), typically -100 to +100
Example:
background lab(10 0 0) # Very dark neutral gray
foreground lab(90 0 0) # Very light neutral gray
color1 lab(50 60 40) # Red
color4 lab(50 0 -50) # Blue
Gamut Mapping¶
When you specify colors in OKLCH or CIE LAB formats that are outside the sRGB color gamut, kitty automatically converts them using the CSS Color Module Level 4 gamut mapping algorithm:
Preserves the original lightness and hue as much as possible
Reduces chroma (saturation) until the color fits within the displayable range
Uses perceptual color difference (deltaE OK) to minimize visible changes
Maximizes color saturation while staying in gamut
This ensures that wide gamut colors gracefully degrade on standard sRGB displays while taking full advantage of wide gamut displays when available. The mapping happens automatically - you don’t need to do anything special.
For example, oklch(0.7 0.4 25) might be too saturated for sRGB but will be
automatically adjusted to fit while preserving the perceived hue and lightness.