Description
Expand the settings system to support persistent user configuration with CLI flag overrides. The config file (JSON or TOML) stores preferences; CLI flags override them per-session.
Configuration Options
- Menu mode: flat list (default) vs category drill-down
- Disabled games: list of games to hide from the menu (favorites/shortlist mode)
- Transition effects: on/off toggle, effect selection, random mode
- Digital rain timer: transition duration/speed
- Color theme: effect color (green default), preset colors, random color mode
- Color palette: which colors are included in random rotation
CLI Flags
cli-play --menu=flat|categories
cli-play --no-transitions
cli-play --color=green|cyan|gold|random
cli-play --disable=snake,tetris
Implementation Notes
- Build on existing
internal/settings package
- Config file at
~/.config/cli-play/config.json (or XDG standard)
- CLI flags via
pflag or stdlib flag
- Settings UI (existing) should expose all options
- Validate that disabled games don't break menu indices
Dependencies
None -- this is a foundational feature that other issues depend on.
Description
Expand the settings system to support persistent user configuration with CLI flag overrides. The config file (JSON or TOML) stores preferences; CLI flags override them per-session.
Configuration Options
CLI Flags
Implementation Notes
internal/settingspackage~/.config/cli-play/config.json(or XDG standard)pflagor stdlibflagDependencies
None -- this is a foundational feature that other issues depend on.