Terminals should generate the 256-color palette
Proposal and Rationale
- Thread discusses the idea: terminals should auto‑generate the 256‑color palette from the user’s 16 base colors so everything respects the terminal theme while still getting “rich” color.
- Some like it immediately: it would make many legacy tools look better “for free” and keep color customization centralized in the terminal instead of per‑app.
- Variants suggested: do it in 24‑bit space, use LUTs to map 16 colors into a perceptual 256 palette, offer quantization sliders, and make the feature configurable via terminal settings or environment variables.
Concerns About Breaking Expectations
- Strong pushback from people who design color schemes and TUIs that rely on the standard xterm 256 palette being fixed (indices 16–255).
- They argue that today they can ship one 256‑color scheme and know that “color 146” will always look approximately the same; dynamic generation would destroy that guarantee.
- Several insist the feature must be opt‑in or behind a new control code; otherwise existing themes and apps will become “double‑adjusted” and ugly.
User Control vs App/Theme Control
- Repeated complaints about CLIs/TUIs overriding terminal colors with hard‑coded palettes or using colors outside the basic 16, forcing users to reconfigure every app.
- Many prefer terminal‑level control and simple, semantic color use (e.g., few colors, mostly for emphasis/errors) over elaborate, app‑specific styling.
- A subset explicitly dislike “rainbow TUIs” and compare the situation to accessibility problems on the web.
Accessibility and Contrast
- Multiple comments note dark blue on black as effectively unreadable; users routinely change “blue” in their terminal or complain about tools that hardcode it.
- Colorblind and visually impaired users report poor contrast in many themes; some use tooling/AI to derive high‑contrast variants from existing schemes.
Truecolor vs 256‑Color Palettes
- Some say: just use 24‑bit “truecolor” and skip palettes.
- Others echo the article’s downsides: per‑app config, no global light/dark switching, longer escape codes, and less universal support.
- For many theme authors, the fixed 256 palette is the sweet spot: more colors than 16, but still predictable and centrally themed.
Semantic/Role-Based Coloring
- Several propose a different direction: semantic/role‑based styles (ERROR, WARNING, HIGHLIGHT, etc.) instead of raw color indices.
- Ideas include new SGR escape codes or extended modes that let the terminal map roles to actual colors, backgrounds, and font attributes per user theme.
Broader Terminal / GUI / Legacy Discussion
- Side threads debate why we still use VT220‑style terminals at all, versus richer GUIs or notebook‑style REPLs.
- Plan 9 / 9front is cited as an example of a text‑centric but non‑VT terminal world; others argue text terminals persist because they’re scriptable, composable, and work well over slow/remote links.
Images, HDR, and Miscellaneous
- Some advocate for image or framebuffer support in terminals (e.g., existing Kitty protocol, Sixel/ReGIS) to enable notebook‑like experiences.
- Brief tangent on HDR and color science, arguing that traditional sRGB
#fffis limited and HDR would need different color models. - Concrete adoption: at least one popular macOS terminal and Ghostty have already implemented palette‑generation variants, generally behind options.