Skip to content

Make the default clock colors readable with any accent - #174

Merged
danielchalmers merged 3 commits into
masterfrom
neutral-default-colors
Oct 7, 2026
Merged

danielchalmers merged 3 commits into
masterfrom
neutral-default-colors

Conversation

@danielchalmers

@danielchalmers danielchalmers commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

New installs and the System preset used the Windows accent as the clock's text color. Windows allows any shade, so a dark accent in dark mode, like plum at about 1:1 contrast on the dark background, or a light accent in light mode left the clock nearly invisible.

image
  • New installs and the System preset now use near-white text in dark mode (#F2F2F2 on #202020) and near-black in light mode (#212121 on #F7F7F7), about 15:1 with any accent. Existing clocks keep their colors.
  • The Accent preset still uses the accent as the background, but picks white or near-black text, whichever stands out more. Light accents like gold now get dark text, and darker accents, including the default Windows blue, keep white text. Every Windows accent swatch now gets at least 4.5:1, up from as low as 1.7:1.
  • The tests now check both modes and a dark and a light accent directly, instead of reading the PC's own theme.

Testing

  • Real first launch from an empty folder, before and after. The text went from the accent (#D50056 on this PC, which is in dark mode) to #F2F2F2 on #202020.
  • Clicked the real Accent and System presets in Settings. Accent keeps white text on this PC's dark pink accent, and System switches to the neutral colors.
  • A clock with saved accent colors keeps them after relaunching.
  • 287 tests pass, including new ones that fail on the old code.

Worth a look

  • With neutral text, the System preset is close to Smoke in dark mode and Paper in light mode, told apart mostly by the font.
  • With Solid background turned off, the text sits directly on the wallpaper, so dark text on a dark wallpaper can still be hard to read. That was already true before this change.

A fresh install, and the System preset, used the Windows accent color for the clock text. Windows allows any shade, so a dark accent in dark mode, like plum on the dark background, or a light accent like yellow in light mode left the text almost invisible. The text is now near-white in dark mode and near-black in light mode, so it's readable with any accent. Existing clocks keep their colors.
The Accent preset always put white text on the accent color, which was hard to read with light accents like yellow or light green. It now picks white or near-black text, whichever stands out more against the accent. Darker accents, including the default Windows blue, keep white text.
The readability tests read this PC's own accent and light or dark mode, so they only covered one case and wouldn't catch a regression elsewhere. The default colors and the Accent preset now come from small functions that take the mode or accent, and the tests check both modes and both a dark and a light accent directly.
@danielchalmers
danielchalmers merged commit 511e57e into master Oct 7, 2026
5 checks passed
@danielchalmers
danielchalmers deleted the neutral-default-colors branch October 7, 2026 23:30
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