Terminal colours are tricky

Terminal colour schemes turn out to be far more complex than a simple choice between light and dark themes. Commenters highlight how inconsistent standards, legacy escape codes, and tools that ignore `TERM` and user preferences make it hard to get readable, accessible output across different terminals, colour depths and platforms. Many argue that CLI tools should default to the 16 ANSI colours (or even no colour), leaving theme control to the terminal and user, while others explore contrast guidelines, specific themes, and workarounds for low‑capability consoles.

Light vs dark themes and perception

  • Several users found light themes much more sensitive to screen differences; small changes in brightness or calibration can make them unusable across devices.
  • Others can’t tolerate dark themes (e.g., due to eye conditions or light sensitivity) and design high‑contrast dark‑on‑light schemes instead.
  • There’s disagreement over low‑contrast schemes like Solarized: some find them comfortable, others find them illegible or tiring.

Standards, TERM, and terminal capability chaos

  • Many comments note that ANSI 16 colors and VGA-ish expectations underpin lots of old and new tools.
  • Tools often ignore $TERM, terminfo, $COLORTERM, and TTY detection, emitting 256/truecolor or nonstandard escapes regardless of capability.
  • Environment variables such as NO_COLOR, COLORFGBG, SYSTEMD_COLORS, and TERM suffixes (-256color) are discussed; support is inconsistent and semantics (capability vs preference) are unclear.
  • Some blame legacy complexity; others argue modern tools are at fault for not respecting existing mechanisms.

3/4‑bit vs 8/24‑bit colors

  • One camp argues CLI/TUI apps should default to 16 ANSI colors and never hardcode 8/24‑bit palettes, so users control appearance via the terminal theme.
  • Another camp wants “good defaults” pushed onto users and sees rich color as valuable, arguing capability flags are already a kind of opt‑in.
  • Mapping 24‑bit colors down to ANSI 16 is suggested but criticized as producing either invisible or ugly combinations.

Themes, contrast, and accessibility

  • Users report issues with specific schemes: Solarized Dark’s “bright black” nearly matches the background; bright blue on black and bright yellow on white are frequent pain points.
  • Alternatives mentioned include Selenized, Modus themes, FlatUI/One Dark style schemes, Catppuccin, base16, Tango, and monochrome or near‑monochrome setups.
  • Several emphasize brightness/value and WCAG/APCA-like contrast over hue; many complain theme authors ignore accessibility.

Tool behavior and fallbacks

  • Some tools set both foreground and background, breaking carefully tuned terminal palettes.
  • Limited consoles (Linux/ BSD text console, UEFI shell) reveal how fragile color‑heavy workflows can be; people keep monochrome or simple 16‑color fallbacks, or practice “no color” modes.
  • A minority prefers disabling color entirely, citing distraction, broken logs/pipes, and portability issues; others value color for quick visual parsing.