Skip to content

Add selectable controller-mode background themes#367

Merged
Jayian1890 merged 3 commits intodevfrom
feat/controller-background-themes
Apr 27, 2026
Merged

Add selectable controller-mode background themes#367
Jayian1890 merged 3 commits intodevfrom
feat/controller-background-themes

Conversation

@Jayian1890
Copy link
Copy Markdown
Collaborator

@Jayian1890 Jayian1890 commented Apr 27, 2026

Summary

  • add a new persisted setting (controllerBackgroundTheme) with typed support in shared settings and main-process defaults
  • expose theme selection in desktop Settings under Controller Mode and in controller-native System settings (cycle via controller secondary action)
  • apply theme-aware XMB wrapper classes and ship three new visual theme variants (nebula, sunset, midnight) while preserving the existing default (aurora) and animation toggle behavior
  • thread the new setting through all ControllerLibraryPage callsites to keep overlay and full-page controller views consistent

Why

  • controller mode already supports animation on/off, but only one visual background style
  • adding multiple curated themes improves personalization and visual variety without changing interaction behavior
  • keeping the setting typed and persisted ensures predictable behavior across restarts and controller/desktop navigation surfaces

Implementation details

  • Types and persistence
    • add ControllerBackgroundTheme union type and controllerBackgroundTheme field in shared Settings
    • add corresponding field in main settings interface and default to "aurora"
  • Desktop settings UI
    • add a settings-select dropdown for selecting the controller background theme in the existing controller-mode subsection
  • Controller mode UI logic
    • include backgroundTheme as a System item in ControllerLibraryPage
    • cycle theme values in order: aurora -> nebula -> sunset -> midnight -> aurora
    • compose wrapper class as xmb-theme-* + existing animation state classes
  • Styling
    • add theme-specific overrides for .xmb-bg-layer and .xmb-bg-gradient for nebula, sunset, and midnight
    • retain existing aurora visuals as the default style

Test plan

  • npm run typecheck in opennow-stable
  • open Settings -> Controller Mode and verify theme dropdown updates immediately
  • enter controller mode, navigate to Settings > System > Background Theme, and verify cycling works via controller input
  • confirm all four themes render distinctly in both controller overlay and full controller library page
  • verify Background Animations toggle still independently controls motion across all themes
  • restart app and confirm selected theme persists

Risk and compatibility

  • low functional risk: change is additive and isolated to settings + controller presentation layers
  • no protocol/session behavior changes; stream, input, and session lifecycle logic remain untouched

Made with Cursor

This introduces a persisted controller background theme setting and wires it through desktop settings and controller navigation so users can switch between multiple visual styles while preserving existing animation toggles.

Made-with: Cursor
Copy link
Copy Markdown
Contributor

@capy-ai capy-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added 1 comment

Comment thread opennow-stable/src/renderer/src/styles.css
@Jayian1890 Jayian1890 merged commit 8129963 into dev Apr 27, 2026
9 checks passed
@Jayian1890 Jayian1890 deleted the feat/controller-background-themes branch April 27, 2026 07:03
Jayian1890 added a commit that referenced this pull request Apr 27, 2026
* Add selectable controller-mode background themes.

This introduces a persisted controller background theme setting and wires it through desktop settings and controller navigation so users can switch between multiple visual styles while preserving existing animation toggles.

Made-with: Cursor

* Update .gitignore to include new markdown files and enhance CSS with additional background gradient themes for various UI states.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant