tui: settings — theme picker (color schemes) #145
Labels
No labels
area:agents
area:ai
area:config
area:dashboard
area:design
area:design-review
area:devtools
area:entities
area:gallery
area:generate
area:image
area:infra
area:meta
area:model-browser
area:navigation
area:presets
area:security
area:sessions
area:settings
area:sharing
area:test
area:ux
area:webhook
area:workdir
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/loom#145
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As a user with strong preferences about terminal colors, I want to pick from a small set of curated color themes (and persist the choice), so that the TUI matches my terminal palette.
Background
The Settings → Appearance section currently has a single boolean (
canvas_inertia). The TUI uses hardcodedColor::Cyan,Color::DarkGray, etc. throughout. Centralising these into a theme struct unlocks future per-theme styling.Acceptance criteria
Theme model
Themestruct inloom-tui/src/theme.rswith named slots:accent,border_focus,border_idle,selection_bg,selection_fg,placeholder,error,success,warn,infodefault-dark,tokyo-night,gruvbox,nord,solarized-dark,monochromestring_picker)Wire-through
Color::Cyan/etc. in screens replaced withctx.theme().accent/ctx.theme().border_focus/ etc.AppCtxgainstheme: Arc<Theme>populated from settingsLoomEvent::SettingsChanged(already wired)Persistence
appearance.theme: StringinAppSettingsTests
Colorslotsdefault-darkwith a tracing warnOut of scope
References
crates/loom-tui/src/screens/*.rs(hardcodedColor::*references)crates/loom-core/src/models/settings.rs(AppSettings::canvas_inertia)