Skip to content

fw/apps/system_apps/settings: add accent colors#379

Merged
jplexer merged 3 commits into
coredevices:mainfrom
EladDv:add_accent_colors
Oct 31, 2025
Merged

fw/apps/system_apps/settings: add accent colors#379
jplexer merged 3 commits into
coredevices:mainfrom
EladDv:add_accent_colors

Conversation

@EladDv
Copy link
Copy Markdown
Contributor

@EladDv EladDv commented Oct 18, 2025

Added an accent color settings module for both apps screen and the settings app

tested on silk (just doesn't show up and uses the defaults), snowy and spalding in QEMU

for it to be expanded in the future for other apps will probably need a rewrite (unclear how dark/light/default modes will integrate into this too, might be able to squeeze it in this structure)

Signed-off-by: Elad Dvash <e.d.dvash@gmail.com>
@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 18, 2025

Themes settings menu in settings:
remmina_Quick Connect_127 0 0 1:5900_20251018-204407

Themes settings menu:
remmina_Quick Connect_127 0 0 1:5900_20251018-204413

Default option:
remmina_Quick Connect_127 0 0 1:5900_20251018-204418

Show all colors:
remmina_Quick Connect_127 0 0 1:5900_20251018-204423

Showing potential accent:
remmina_Quick Connect_127 0 0 1:5900_20251018-204439

Same with settings menu accent color:
remmina_Quick Connect_127 0 0 1:5900_20251018-204506

Results:
remmina_Quick Connect_127 0 0 1:5900_20251018-204446
remmina_Quick Connect_127 0 0 1:5900_20251018-204514

Copy link
Copy Markdown
Member

@jplexer jplexer left a comment

Choose a reason for hiding this comment

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

you shouldnt be able to set colors that text isnt readable on imho.

@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 18, 2025

you shouldnt be able to set colors that text isnt readable on imho.

Which colors are you thinking about?
Changing it is super easy - just take them out of the list of colors in the settings_themes.h file (unless you want to separate the 2 lists but then it's just duplicating them and changing a few variables)

personally I think user freedom is always a plus (especially on a more "enthusiast" platform like this)

@jplexer
Copy link
Copy Markdown
Member

jplexer commented Oct 18, 2025

i.e. looks like black text is not readable on imperial purple
you dont have to remove colors, just make the text readable on them (i.e. on darker colors change text color to white and vice versa)!

@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 18, 2025

i.e. looks like black text is not readable on imperial purple you dont have to remove colors, just make the text readable on them (i.e. on darker colors change text color to white and vice versa)!

sure that can be done but then you're in a whole dark/light mode situation and that's for a future PR , would a better preview display be better? would let the user see it before (so the text in the menu will be black in that case, and the bg in the settings portion will be black)

@jplexer
Copy link
Copy Markdown
Member

jplexer commented Oct 18, 2025

yeah I guess that would make sense!

@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 18, 2025

The first one looks kinda jank... IDK if I 100% like it but at least for a start (I dont want to mess so much with the layers)
remmina_Quick Connect_127 0 0 1:5900_20251018-212821
remmina_Quick Connect_127 0 0 1:5900_20251018-212813

@jplexer
Copy link
Copy Markdown
Member

jplexer commented Oct 18, 2025

well you dont have to change the entire background, just the text color 😁

@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 18, 2025

yeah but for the settings screen it's much more informative since it is black so you want to know if there's contrast there too
also removed black from the quick options and moved it to the end of the "all options" replace it with pink

Signed-off-by: Elad Dvash <e.d.dvash@gmail.com>
@insertwittyusername
Copy link
Copy Markdown

insertwittyusername commented Oct 30, 2025

Revisiting this, I talked with AmberW in the Discord server and got an explicit list from them of 10 colors to implement that all pass relative luminance and contrast checks for both the black-text-on-white-background "Apps" menu and the white-text-on-black-background "Settings" menu. This list should probably be the entire list, as basically the rest of the colors don't pass the proper contrast ratio check for accessibility/visibility. I think the best thing would be to consolidate the Accent Color setting to be just the name of the color pair (so "Red" would have the darker red shade for the settings menu and the lighter red shade for the apps menu).

Here are the colors, using the official Pebble names. The format is as follows: the first color name is the name to be used for any sort of light theming, the second name is the name to be used for any sort of dark theming, and the third name is the "normal" name that should be presented to the user.

  • SunsetOrange - DarkCandyAppleRed - "Red"
  • ChromeYellow - WindsorTan - "Orange"
  • Yellow - ArmyGreen - "Yellow"
  • Green - DarkGreen - "Green"
  • Cyan - MidnightGreen - "Cyan"
  • VividCerulean - CobaltBlue - "Light Blue (Default)"
  • VeryLightBlue - DukeBlue - "Royal Blue"
  • LavenderIndigo - Indigo - "Purple"
  • Magenta - Purple - "Magenta"
  • BrilliantRose - JazzberryJam - "Pink"

What do you guys think? This would probably be way, way better for UX, as we could just have this singular list of accent colors, and then a toggle for Default/Light/Dark theme sometime down the road.

Here's a photo of those colors btw:
colors

Again, all credit goes to AmberW for putting in the work to check each of the 64 colors to find the ones with appropriate contrast.

@gmarull gmarull requested a review from ericmigi October 31, 2025 11:08
@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 31, 2025

BTW still left in the different menus for apps screen and settings screens
Settings is annoying since the settings screen itself is dark but sub-menus are white so the whole contrast thing is weird, we can change those to black too or just have "dark" and "light" but then it's a change to current defaults

@EladDv EladDv force-pushed the add_accent_colors branch from 24f8472 to 2d1c0c1 Compare October 31, 2025 12:46
Copy link
Copy Markdown
Member

@jplexer jplexer left a comment

Choose a reason for hiding this comment

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

  1. Watch crashes when you try to go into "Settings Accents" after a color is set in there
  2. I feel like the "Themes" entry should not be under "system"

@insertwittyusername
Copy link
Copy Markdown

  1. I feel like the "Themes" entry should not be under "system"

Maybe it should be right below "Display"? What do we think about that?

So then Settings is:

  • Bluetooth
  • Notifications
  • Vibrations
  • Quiet Time
  • Timeline
  • Quick Launch
  • Date & Time
  • Display
  • Themes
  • Background App
  • System

Or maybe have it be a sub category in "Display"? That might make the "Display" menu too cluttered though.

@EladDv EladDv force-pushed the add_accent_colors branch from d58a672 to a5755c1 Compare October 31, 2025 14:56
@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 31, 2025

Ok yeah all those git shenanigans reverted me back to a bad version, now should be fixed
I also had dark and light accidentally reversed and moved also moved the menu item to just below display

@EladDv EladDv force-pushed the add_accent_colors branch from a5755c1 to 3a91e48 Compare October 31, 2025 15:11
Copy link
Copy Markdown
Member

@jplexer jplexer left a comment

Choose a reason for hiding this comment

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

codewise looks good, just one nitpick :)

Comment thread src/fw/apps/system_apps/settings/settings_menu.c
Signed-off-by: Elad Dvash <e.d.dvash@gmail.com>
@EladDv EladDv force-pushed the add_accent_colors branch from 3a91e48 to 68534ff Compare October 31, 2025 15:26
@ericmigi
Copy link
Copy Markdown
Collaborator

Thanks for the PR @EladDv! Along with similar PRs that we've merged, I want to make sure that you're okay with this being merged as a temporary test feature - we may remove it from the Core Devices fork of PebbleOS at any time.

Here's the reasoning:

  • We haven't finished working on our settings system, and it's possible that we may move a lot of this type of configuration from the watch settings to the phone settings.
  • We may implement our own theming in the future, and if so, we'd remove this.
  • There is a possibility for this causing problems with other parts of the operating system, and we may remove this if it does.
  • This proves to be an additional burden on our customer support because of people making bad decisions, and we'll remove it.

Sounds good?

@EladDv
Copy link
Copy Markdown
Contributor Author

EladDv commented Oct 31, 2025

of course 😄 and I'll be glad to continue contributing when and where possible

@jplexer jplexer merged commit 9b9747d into coredevices:main Oct 31, 2025
21 checks passed
@ericmigi ericmigi mentioned this pull request Nov 29, 2025
1 task
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.

4 participants