PJC
May 2, 2026, 5:39pm
1
Since most of my watch faces are dark, it’s kind of jarring when I go into the system menu or get a notification (I’m a huge fan of the icon design by Heyday, never change that, btw) and it goes light. So, how about a dark mode for all of that? User controlled, or add a flag in watch faces that can tell the OS that it’s a dark mode face and automatically use dark mode for system messages and menus.
5 Likes
This is an excellent idea.
1 Like
PJC
May 17, 2026, 5:33pm
3
I just saw a PR for it, so let’s hope it gets merged!
main ← amcolash:dark_mode
opened 07:25AM - 19 Apr 26 UTC
Hey pebble friends! I recently started using my pebble again in preparation for … my new PT2 arriving soon. I noticed that using the watch at nighttime was _really_ bright and noticed how nice the settings menu w/ black background was. Since PebbleOS is now open source, I decided to try adding in a dark mode. So far is looking really good and will hopefully be a nice feature for people.
Not sure if there are any contribution guidelines I need to keep in mind, but happy to help get this through however you all might think is best. I used claude for portions of the logic, but wrote a significant portion on my own as well. This PR does cover a lot of files, but commits should roughly line up with separate potions of code changes. Happy to split things up if it is too much in one PR though.
Technical Details:
- There are 3 new helper functions added to `src/fw/shell/system_theme.c`
- `system_theme_is_dark_mode()`
- `system_theme_get_fg_color()`
- `system_theme_get_bg_color()`
- The Settings -> Display/Theme page (dependent on theme support, falls back to display) has new options for `Dark Mode: Off / On / Auto`.
- Dark mode is turned off by default
- "Auto" mode uses the ambient light sensor to determine if dark mode should be enabled
- The settings page order was changed slightly after the screenshot was taken
- Most of the changes in this PR are changing colors from hardcoded values to the above functions for fg/bg colors.
These changes should be scoped to pebbleos with a check that I _think_ should prevent the default values going to 3rd party apps. If it seems like there is community interest, it should be pretty simple to roll out to application developers later on.
Below are screenshots of many parts of the ui that have been touched. I did a pretty thorough check through all pages and I _think_ it is in a pretty decent spot. The colors are washed in a few from QEMU + backlight dimming.
I still have a little bit of testing on a few more places, but pretty close to ready for merging once approved. Haven't looked too deeply at round/new/etc hardware, but I think a lot of the spots should be decent. Thanks all, love that pebble is back and so happy to be able to contribute! :grin: :rock:
<img width="288" height="336" alt="Screenshot from 2026-04-19 00-17-05" src="https://github.com/user-attachments/assets/63b44037-da97-4241-9061-9a0d4fd07514" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 00-17-23" src="https://github.com/user-attachments/assets/f0c46d57-e6cd-4b7e-b5f6-3050016af8b7" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 00-17-34" src="https://github.com/user-attachments/assets/de05c457-09e5-48b6-b902-6439af2e652d" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 00-17-45" src="https://github.com/user-attachments/assets/9e8c9309-0a24-486a-8167-0531db92b356" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 00-18-05" src="https://github.com/user-attachments/assets/5fdfa1e7-23b0-4cdc-94ce-77ad6a275e82" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 00-18-20" src="https://github.com/user-attachments/assets/23804315-24dd-4eba-9f50-1b645c36886f" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 00-18-46" src="https://github.com/user-attachments/assets/7fa20229-f5ac-4983-b3a5-6389699d60b2" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 01-22-03" src="https://github.com/user-attachments/assets/dd8d0bf2-0ad7-4d6d-b3b5-374449b6d310" /><br/>
<img width="288" height="336" alt="Screenshot from 2026-04-19 01-22-21" src="https://github.com/user-attachments/assets/2b0449ab-a2c2-438b-8dcb-fa31c827d551" /><br/>
1 Like