Skip to content

Electron App: Theming system #137

Description

@jongio

Overview

CSS variable-based theming with 5 built-in themes, Windows Terminal theme detection, and dark/light mode support.

Acceptance Criteria

  • CSS custom properties for all theme colors (bg, fg, accent, borders, etc.)
  • 5 built-in themes matching TUI: Dispatch Dark, Dispatch Light, Campbell, One Half Dark, One Half Light
  • Theme switching via settings (immediate, no reload)
  • Auto theme: detect system dark/light preference, adapt accordingly
  • Windows Terminal theme detection: parse settings.json for active color scheme
  • Theme colors map to attention dots, status indicators, conversation bubbles
  • High contrast mode (system accessibility setting detection)
  • Smooth theme transition (CSS transitions on color changes)
  • Theme preview in settings panel

Color Tokens

\\css
:root {
--bg-primary, --bg-secondary, --bg-tertiary
--fg-primary, --fg-secondary, --fg-muted
--accent-primary, --accent-secondary
--border-primary, --border-subtle
--attention-working, --attention-thinking, --attention-waiting, ...
--conversation-user-bg, --conversation-assistant-bg
--selection-bg, --hover-bg, --focus-ring
}
\\

Notes

  • Theme definitions in JSON (importable, same structure as TUI builtins.go)
  • Custom themes: user can drop JSON files in config directory
  • Nerd Font detection: check if font has ligatures/icons, show rich icons vs fallback

Metadata

Metadata

Assignees

No one assigned

    Labels

    electronElectron desktop appelectron-p2Electron Phase 2 - Core Features

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions