Skip to content

fix: built-in apps theme compiance - #854

Open
nborodikhin wants to merge 4 commits into
LoveRetro:mainfrom
nborodikhin:fix/theme_compliance
Open

nborodikhin wants to merge 4 commits into
LoveRetro:mainfrom
nborodikhin:fix/theme_compliance

Conversation

@nborodikhin

@nborodikhin nborodikhin commented Oct 3, 2026 •

Copy link
Copy Markdown

Description

Several built-in apps ignore the color palette and use hardcoded colors. That is not visible on the default palette and most of the dark ones, but looks bad on light themes such as Catppuccin Latte.

This change updates the apps to use semantic colors to render ui.

Change

  • All apps - use the hint color for the titles
  • Settings:
    • blocking overlays (Bluetooth and Wi-Fi Pairing/Connecting, RetroAchievements sync):
    • repaint the app background instead of black
    • keyboard updates:
      • take the text color from the theme, mix bg and text color to get the key color
      • center the title left of the status pill
  • Battery:
    • use palette colors for text, icons, grid and graph lines
    • replace the dithered fill under the graph with an alpha fill
    • fix a crash in compute_graph() when the battery history fills the whole graph
    • use hardcoded red color for estimated time to run out of battery
  • Game Tracker, LED Control:
    • show the selected row as a main-color pill, do not render pill at all for other rows
    • choose theme colors for text and time parts of the
  • Clock
    • use the theme colors for digits and background
    • tint underline asset to the theme color
  • Minarch:
    • emulator menus are supposed to be rendered over the emulator content, which is presumed to be dark
    • emulator uses hard-coded colors
    • add GFX_blitMessageColor() to be able to use white for emulator menu messages

Testing

  • tested on tg5040

Here is the comparison before/after:
theme-compliance-256

@nborodikhin nborodikhin changed the title fix: make built-in apps follow the color palette fix: built-in apps theme compiance Oct 3, 2026
@nborodikhin
nborodikhin marked this pull request as ready for review October 3, 2026 20:09
@frysee

frysee commented Oct 13, 2026

Copy link
Copy Markdown
Member

Here is the comparison before/after: theme-compliance-256

Finally an image that can cover my whole screen horizontally! I think I like most of the changes, apart from maybe the bars in battery monitor.

@nborodikhin

Copy link
Copy Markdown
Author

I think I like most of the changes, apart from maybe the bars in battery monitor.

Battery monitor is tricky as it makes its own colors. It took some effort to find a combination of theme colors and alpha to make it legible on both dark and light themes.

I would be happy to discuss further theme improvement - maybe we could make it better if there was a way to tell if the theme is light or dark.

@frysee

frysee commented Oct 13, 2026

Copy link
Copy Markdown
Member

I think I like most of the changes, apart from maybe the bars in battery monitor.

Battery monitor is tricky as it makes its own colors. It took some effort to find a combination of theme colors and alpha to make it legible on both dark and light themes.

I would be happy to discuss further theme improvement - maybe we could make it better if there was a way to tell if the theme is light or dark.

I think my problem is mainly with the steppiness of the diagram, but it also doesnt look like that on my device.

@nborodikhin

Copy link
Copy Markdown
Author

I think my problem is mainly with the steppiness of the diagram, but it also doesnt look like that on my device.

I see. Steps are not part of the change - it is how Claude simulated the charge/discharge graph to take comparable snapshots for all themes, that's it. The change is focused on colors, not on data management.

This branch has not been deployed

No deployments
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.

2 participants