Terminals should generate the 256-color palette

Make Terminals Pretty: Auto-colors thrill users, worry purists

TLDR: A new idea suggests terminals auto-build a 256-color set from your 16-color theme for prettier, consistent apps without extra setup. Commenters love the convenience, but skeptics warn it could break the long-standing “color numbers mean the same everywhere,” pushing for optional switches to keep both beauty and stability.

A bold proposal is lighting up the command line: let terminals auto-generate the bigger 256-color set from your existing 16-color theme, so everything looks cohesive without a mess of configs. Fans say it’s the best of both worlds—more colors, less hassle. One supporter cheered that every terminal should probably add this feature, and others backed it as a smart default with knobs for the picky. The promise: cleaner visuals, better contrast, and fewer headaches when switching light/dark modes.

But the palette police showed up fast. A veteran warned that today’s 256-color chart is fixed—devs rely on “color 146 is violet” across apps. If terminals remix those numbers based on your theme, consistency could shatter. Cue the drama: pragmatists vs. purists. The pragmatists want prettier terminals with optional toggles; the purists fear a wild west where color numbers mean different things on every machine. Meanwhile, jokesters piled on with OS-level theming quips—“if only there were some other system… that could be operating with that in mind” had the thread snickering. Under the memes and eye-rolls, there’s real stakes: this could make colorful tools readable and attractive out-of-the-box, or it could fracture the shared language that keeps themes and apps in sync. Buckle up—this hue fight isn’t over.

Key Points

  • The article proposes terminals auto-generate the 256‑color palette from the user’s base16 theme.
  • It details the 256‑color layout: 16 base colors, a 216‑color 6×6×6 cube (index formula), and a 24‑step grayscale ramp (index formula).
  • Default 256‑color palettes conflict with base16 themes, interpolate early shades too light (~37% vs ~20%), and use fully saturated hues that cause inconsistent perceived brightness.
  • The solution maps the eight base16 normal colors to the cube’s corners, uses terminal foreground/background for black/white, and builds the cube via trilinear interpolation.
  • Using LAB colorspace to interpolate ensures consistent apparent brightness, and grayscale can be generated by interpolating from background to foreground.

Hottest takes

"Damn if only there was some other system that could be operating with that in mind" — King-Aaron
"every terminal should probably add this feature" — jimrandomh
"146 will be a muted violet" — johncoltrane
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.