-
Notifications
You must be signed in to change notification settings - Fork 915
Add dark/light theme support to the TUI #415
Copy link
Copy link
Open
Labels
autonomous: noNeeds your brain: a product/design decision is required before anyone acts.Needs your brain: a product/design decision is required before anyone acts.enhancementNew feature or requestNew feature or requestpriority: mediumP2 - normal priorityP2 - normal prioritytriage: needs-decisionNeeds maintainer decision/design thoughtNeeds maintainer decision/design thought
Description
Metadata
Metadata
Assignees
Labels
autonomous: noNeeds your brain: a product/design decision is required before anyone acts.Needs your brain: a product/design decision is required before anyone acts.enhancementNew feature or requestNew feature or requestpriority: mediumP2 - normal priorityP2 - normal prioritytriage: needs-decisionNeeds maintainer decision/design thoughtNeeds maintainer decision/design thought
Summary
The TUI/CLI agent (
jcode) has no dark/light theme support. All colors are hardcoded RGB values tuned for dark terminals. The desktop app already supportsSystem/Dark/Light, so the TUI is the gap.Current state
crates/jcode-tui-style/src/theme.rs(e.g.user_color() -> rgb(138, 180, 248)). No theme config option, no terminal-background detection (noCOLORFGBG/luminance probing), no light variant.crates/jcode-desktop/src/desktop_ui_engine.rsdefinesenum ThemeMode { System, Dark, Light }withDesktopTheme::for_preferences()resolvingSystemagainst the OS setting, plus explicitlight()/dark()palettes stored inUiPreferences(defaults toSystem).Proposed work
jcode-tui-styleinstead of constant color functions (e.g. aThemestruct with named roles).darkandlightpalettes.theme = "system" | "dark" | "light"in the config file).COLORFGBG/ OSC 11 query forsystemmode.Acceptance criteria