Table of Contents

Struct Theme

Namespace
Retro.Crt
Assembly
Retro.Crt.dll

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

Color

Error

Failure / fatal error.

public Color Error { get; init; }

Property Value

Color

Foreground

Default foreground / body text.

public Color Foreground { get; init; }

Property Value

Color

Muted

De-emphasized text — borders, hints, secondary info.

public Color Muted { get; init; }

Property Value

Color

Name

Human-readable theme name, e.g. "AmberCrt".

public string Name { get; init; }

Property Value

string

Success

OK / passed / completed signals.

public Color Success { get; init; }

Property Value

Color

Warn

Caution / non-fatal issue.

public Color Warn { get; init; }

Property Value

Color