libretro / libretro/RetroArch

[Feature Request] Restore manual theme after toggling "Use Preferred System Color Theme" ON then OFF

Open
#19,068 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Describe the Bug / Feature Request

When toggling the "Use Preferred System Color Theme" setting ON and then back OFF, the application does not restore the user's previously selected manual theme. Instead, it leaves the theme stuck on the system default (Basic Black).


Steps to Reproduce

  1. Set the menu driver to Ozone, SettingsDriversMenu to ozone
    • This is needed because the setting Use Preferred System Color Theme in step 4 below only exists for the ozone menu driver.[1]
  2. Navigate to SettingsUser InterfaceAppearance. - Change the Color Theme value to Basic White
  3. In the same menu, toggle Use Preferred System Color Theme from OFF (default) to ON.
    • Observation: The theme changes to match the system/default Ozone theme (Basic Black).
    • Note: Changing Use Preferred System Color Theme to ON will hide the menu entry Use Preferred System Color Theme.
  4. Toggle Use Preferred System Color Theme back to OFF.

Current behavior

The previously configured Color Theme (Basic White) is not restored. Instead, it leaves the theme stuck on the system default (Basic Black), forcing the user to manually re-select their preferred theme from the dropdown menu.


Feature request

Cache the user's manually selected ozone_menu_color_theme value when the override is turned ON, so that subsequently turning the system override OFF gracefully restores their preferred UI state.

Why This Matters

Right now, this behavior is a frustrating user experience constraint.

First of all, this process is highly confusing because changing Use Preferred System Color Theme to ON actually hides the standard Color Theme selection menu entry entirely (see steps to reproduce). This makes it incredibly disorienting for users to navigate back and fix their setup. Automating this would make the theme-switching experience seamless, intuitive, and less punishing for accidental toggles.

Furthermore, when users want to temporarily test or switch away from the system override theme, they have to manually find and re-apply their old theme from a long list. Because people easily forget the exact names of the themes they were previously using, it creates unnecessary friction and forces them to guess or cycle through options just to get their original setup back. Automating this would make the theme-switching experience seamless and intuitive.


Environment & References

  • Menu Drivers Tested: Ozone (Verified via Settings → Drivers → Menu)
  • Packages Tested: AppImage, Flathub, APT

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the Ozone menu handling for Settings → User Interface → Appearance, focusing on the ozone_menu_color_theme value and the Use Preferred System Color Theme toggle. Reproduce the change from Basic White to the system theme and back to identify where the manual value is lost. Done means turning the override OFF restores the previously selected theme.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.