Struct Theme
A curated palette evoking a specific era of computing: DOS, an amber CRT, a modern dark IDE, etc. Themes are pure data — pick the colors you want and pass them to Banner, ProgressBar, WithStyle(Color?, Color?, bool), or anywhere else a Color is accepted.
public readonly record struct Theme : IEquatable<Theme>
- Implements
- Inherited Members
Remarks
Themes carry foreground / accent / muted / status colors only — no background. Terminal background is owned by the host (the user's terminal theme) and the library does not try to paint over it: tricks like cell-by-cell space fill weren't reliable enough to ship as part of a preset and would only set expectations the library can't keep. If a specific build genuinely needs a colored background, set it explicitly per-call via WithStyle(Color?, Color?, bool) or TextBackground(Color).
Theme colors are truecolor. On terminals without truecolor support, the standard Retro.Crt fallback applies: the closest SGR Standard16 slot is used, which means the user's terminal theme will tint the preset. For pixel-faithful retro looks, viewers need a truecolor terminal (Windows Terminal, iTerm2, modern xterm, etc.).
Properties
Accent
Highlight / heading / banner color.
public Color Accent { get; init; }
Property Value
Error
Failure / fatal error.
public Color Error { get; init; }
Property Value
Foreground
Default foreground / body text.
public Color Foreground { get; init; }
Property Value
Muted
De-emphasized text — borders, hints, secondary info.
public Color Muted { get; init; }
Property Value
Name
Human-readable theme name, e.g. "AmberCrt".
public string Name { get; init; }
Property Value
Success
OK / passed / completed signals.
public Color Success { get; init; }
Property Value
Warn
Caution / non-fatal issue.
public Color Warn { get; init; }