theme

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 11, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var All = []Theme{
	DefaultTheme,
	oceanTheme,
	midnightTheme,
	sunsetTheme,
	forestTheme,
	roseTheme,
	nordTheme,
	draculaTheme,
	cyberTheme,
	emberTheme,
	arcticTheme,
}

All is every built-in palette, default first.

View Source
var DefaultTheme = Theme{
	Name:    "default",
	Display: "Default",
	Tagline: "Teal & amber on charcoal",
	AppBg:   lipgloss.Color("#191a1b"),

	Foreground: lipgloss.AdaptiveColor{Light: "#1c2128", Dark: "#e8eaed"},
	Muted:      lipgloss.AdaptiveColor{Light: "#57606a", Dark: "#8b919a"},
	Border:     lipgloss.AdaptiveColor{Light: "#afb8c1", Dark: "#3a3d40"},
	Download:   lipgloss.AdaptiveColor{Light: "#0a7ea4", Dark: "#39d0d8"},
	Upload:     lipgloss.AdaptiveColor{Light: "#bc4c00", Dark: "#ffb454"},
	Latency:    lipgloss.AdaptiveColor{Light: "#0969da", Dark: "#a371f7"},
	Highlight:  lipgloss.AdaptiveColor{Light: "#1a7f37", Dark: "#7ee787"},

	GraphDownBottom: lipgloss.Color("#0b5563"),
	GraphDownTop:    lipgloss.Color("#56e1e8"),
	GraphUpBottom:   lipgloss.Color("#8a3b00"),
	GraphUpTop:      lipgloss.Color("#ffc15e"),

	MenuAccentFill: lipgloss.AdaptiveColor{Light: "#e8ecf2", Dark: "#25282c"},

	MenuIdleFill:   lipgloss.Color("#222426"),
	MenuSelectDL:   lipgloss.Color("#1a2e34"),
	MenuSelectUL:   lipgloss.Color("#2e2418"),
	MenuSelectExit: lipgloss.Color("#1a2a1e"),
	MenuSelectSet:  lipgloss.Color("#241a2e"),

	AccentDL:  lipgloss.Color("#39d0d8"),
	AccentUL:  lipgloss.Color("#ffb454"),
	AccentLat: lipgloss.Color("#a371f7"),
	AccentHL:  lipgloss.Color("#7ee787"),
}

DefaultTheme is a modern dark dashboard palette on a VS-style #191a1b canvas, with a teal (download) / amber (upload) split.

Functions

func Names added in v1.3.0

func Names() []string

Names returns every theme id in display order.

func PaintScreen

func PaintScreen(t Theme, width, height int, content string) string

PaintScreen fills the terminal with AppBg and centers content on it so the UI never shows the host console's pure-black default.

Types

type Theme

type Theme struct {
	// Name is the stable id used in flags and settings (e.g. "default").
	Name string
	// Display is the human-facing label shown in the settings picker.
	Display string
	// Tagline is a short vibe line for the picker.
	Tagline string

	// AppBg is the full-screen terminal canvas color.
	AppBg lipgloss.Color

	// Foreground is the default text color (AdaptiveColor).
	Foreground lipgloss.AdaptiveColor
	// Muted is for labels / units / secondary text.
	Muted lipgloss.AdaptiveColor
	// Border is the card border color.
	Border lipgloss.AdaptiveColor
	// Download accent (down arrow, download number).
	Download lipgloss.AdaptiveColor
	// Upload accent.
	Upload lipgloss.AdaptiveColor
	// Latency accent.
	Latency lipgloss.AdaptiveColor
	// Highlight is used for peak values / summary emphasis.
	Highlight lipgloss.AdaptiveColor

	// Graph gradient endpoints (concrete colors for per-cell shading).
	GraphDownBottom lipgloss.Color
	GraphDownTop    lipgloss.Color
	GraphUpBottom   lipgloss.Color
	GraphUpTop      lipgloss.Color

	// MenuAccentFill is a faint background for selected menu cards.
	MenuAccentFill lipgloss.AdaptiveColor

	// Concrete fills for modern menu buttons (selected state).
	MenuIdleFill   lipgloss.Color
	MenuSelectDL   lipgloss.Color
	MenuSelectUL   lipgloss.Color
	MenuSelectExit lipgloss.Color
	MenuSelectSet  lipgloss.Color // settings selected

	// Concrete solid accents for chips / pills (avoid AdaptiveColor holes).
	AccentDL  lipgloss.Color
	AccentUL  lipgloss.Color
	AccentLat lipgloss.Color
	AccentHL  lipgloss.Color
}

Theme holds the reskinnable palette for the whole UI. Text colors use lipgloss.AdaptiveColor so they stay readable on light or dark terminals.

func Get added in v1.3.0

func Get(name string) Theme

Get returns a theme by name (case-insensitive). Unknown names fall back to DefaultTheme.

func (Theme) HexBG added in v1.3.0

func (t Theme) HexBG() string

Hex returns the AppBg as a #rrggbb string for OSC sequences.

func (Theme) HexFG added in v1.3.0

func (t Theme) HexFG() string

HexFG returns a concrete foreground for OSC sequences.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL