Release Fenris 0.5.0 with Chalktone dashboard and dotted activity plots
This commit is contained in:
+20
-4
@@ -1,6 +1,6 @@
|
||||
"""Fenris theme presets (issue #80).
|
||||
|
||||
Three accessible colour presets: Amber (default), Nord, and High Contrast.
|
||||
Chalktone-inspired default plus Amber, Nord, and High Contrast.
|
||||
Themes style chrome, borders, accents, muted text, and graph roles;
|
||||
status semantic colours/glyphs/text always win.
|
||||
|
||||
@@ -126,7 +126,22 @@ _HIGH_CONTRAST = Theme(
|
||||
# Theme registry
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
_CHALKTONE = Theme(
|
||||
name="fenris-chalktone",
|
||||
primary="#abc4b3", secondary="#c9b69a", accent="#dfc49a",
|
||||
warning="#e9bc79", error="#e58d89", success="#acd29c",
|
||||
foreground="#e0d8c5", background="#202426", surface="#202426",
|
||||
panel="#252a2c", boost="#333b3d", dark=True,
|
||||
variables={
|
||||
"graph-allocated": "#abc4b3", "graph-unallocated": "#dfc49a",
|
||||
"graph-gap": "#e58d89", "graph-zero": "#a7b1a9",
|
||||
"graph-partial": "#e9bc79", "graph-selection": "#f3dbb0",
|
||||
"border-default": "#606d6a", "muted-text": "#a7b1a9",
|
||||
},
|
||||
)
|
||||
|
||||
THEMES = {
|
||||
"chalktone": _CHALKTONE,
|
||||
"amber": _AMBER,
|
||||
"nord": _NORD,
|
||||
"high_contrast": _HIGH_CONTRAST,
|
||||
@@ -138,16 +153,16 @@ THEME_NAMES = set(THEMES.keys())
|
||||
def get_theme(name: str) -> Theme:
|
||||
"""Return a registered theme by preset name.
|
||||
|
||||
Unknown names fall back to Amber.
|
||||
Unknown names fall back to Chalktone.
|
||||
"""
|
||||
return THEMES.get(name, _AMBER)
|
||||
return THEMES.get(name, _CHALKTONE)
|
||||
|
||||
|
||||
def get_graph_colors(theme_name: str) -> Dict[str, str]:
|
||||
"""Return the graph colour roles for a theme preset.
|
||||
|
||||
Returns a dict with keys: allocated, unallocated, gap, zero, partial,
|
||||
selection. Falls back to Amber for unknown names.
|
||||
selection and muted text. Falls back to Chalktone for unknown names.
|
||||
"""
|
||||
theme = get_theme(theme_name)
|
||||
variables = theme.variables or {}
|
||||
@@ -158,4 +173,5 @@ def get_graph_colors(theme_name: str) -> Dict[str, str]:
|
||||
"zero": variables.get("graph-zero", "#665533"),
|
||||
"partial": variables.get("graph-partial", "#aa8822"),
|
||||
"selection": variables.get("graph-selection", "#ffd54f"),
|
||||
"muted": variables.get("muted-text", "#a7b1a9"),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user