Feature: apply the built-in color themes in regular (non-powerline) mode
POWERLINE_THEMES (src/utils/colors.ts) ships 10 curated themes — Nord, Nord Aurora, Monokai, Solarized, Minimal, Dracula, Catppuccin, Gruvbox, One Dark, Tokyo Night — each calibrated for ansi16 / ansi256 / truecolor. They are only honored by the powerline renderer, though: in regular mode the coloring is strictly per-widget and manual, so there is no way to get a coherent palette without hand-picking every widget color in the ColorMenu.
Proposal
Make the theme catalog usable in regular mode, foreground-only:
- honor
powerline.theme (or introduce a top-level theme setting) in the regular renderer: cycle the theme's fg colors across widgets — or map them by widget category — without backgrounds or arrows;
- existing per-widget colors keep working as explicit overrides on top of the theme.
This gives users a curated, consistent look in the default mode with a single setting, and reuses the theme definitions that are already shipped and calibrated for all three color levels.
Related bug: separator glyph renders as mojibake without a Nerd Font
The default powerline separator is the private-use-area glyph U+E0B0 (人力资源 arrow). checkPowerlineFonts() (src/utils/powerline.ts) can detect font availability and getPowerlineStatusMessage() has a ready "✗ Powerline fonts not detected - some symbols may not display correctly" message, but:
- that warning only surfaces in the TUI setup flow; enabling powerline via config/CLI without a Nerd Font produces garbage glyphs in the rendered status line with no hint of the cause;
- there is no render-time fallback.
Suggestion: if font detection fails and the configured separator is a private-use-area glyph, fall back to a plain separator (" | " or " ") at render time, and/or surface the existing status message once.
Environment: ccstatusline 2.2.30, macOS, terminal without Nerd Font.
Feature: apply the built-in color themes in regular (non-powerline) mode
POWERLINE_THEMES(src/utils/colors.ts) ships 10 curated themes — Nord, Nord Aurora, Monokai, Solarized, Minimal, Dracula, Catppuccin, Gruvbox, One Dark, Tokyo Night — each calibrated for ansi16 / ansi256 / truecolor. They are only honored by the powerline renderer, though: in regular mode the coloring is strictly per-widget and manual, so there is no way to get a coherent palette without hand-picking every widget color in the ColorMenu.Proposal
Make the theme catalog usable in regular mode, foreground-only:
powerline.theme(or introduce a top-levelthemesetting) in the regular renderer: cycle the theme'sfgcolors across widgets — or map them by widget category — without backgrounds or arrows;This gives users a curated, consistent look in the default mode with a single setting, and reuses the theme definitions that are already shipped and calibrated for all three color levels.
Related bug: separator glyph renders as mojibake without a Nerd Font
The default powerline separator is the private-use-area glyph U+E0B0 (
人力资源arrow).checkPowerlineFonts()(src/utils/powerline.ts) can detect font availability andgetPowerlineStatusMessage()has a ready "✗ Powerline fonts not detected - some symbols may not display correctly" message, but:Suggestion: if font detection fails and the configured separator is a private-use-area glyph, fall back to a plain separator (
" | "or" ") at render time, and/or surface the existing status message once.Environment: ccstatusline 2.2.30, macOS, terminal without Nerd Font.