Personalise
Your wallpaper becomes the system.
Pick a wallpaper and Rime derives its palette from it: surfaces, text, accent, selection, the bar, the lock screen. There is no fixed brand colour to fight with. The colour belongs to what you are looking at.
Try a wallpaper
Roles from Rime default, dark
- surfaceBase
#121315 - surfaceRaised
#1c1d1f - surfaceSelected
#2c3037 - accentContainer
#3c424d - accent
#b2c8ec - textPrimary
#e3e2e5




What follows the wallpaper
One wallpaper change updates everything that reads the palette, in the same moment.
- Rime Shell: every surface, text, outline and accent role, and the lock screen. The login screen and boot splash take your accent.
- Window borders in Rime Tiling, and title bars in Rime Floating.
- The terminal: Ghostty's colours, the prompt's accent, and the greeting's.
- Light or dark: one switch in Settings → Appearance. The palette is derived again from the same wallpaper.
- Not yet: GTK and Qt applications and other terminals keep their own themes.
The rules it follows
matugen produces a Material colour scheme from the wallpaper. The Shell turns six of its colours into named roles, each a measured mix of the surface, accent and text, and checks every one for contrast on the surfaces it is drawn on.
- Body text aims for 7:1 on every surface, secondary text 4.5:1, icons 3:1. If a wallpaper's palette misses a target, a stronger mix replaces that role, and the Shell logs which one.
- Warnings, errors and success keep fixed hues: they have to read as alarming on every wallpaper, and every one clears 4.5:1.
- The accent is always the scheme's primary colour. There is no manual accent override.
Where this page's colours came from
Each scene below was run through matugen 4.2.0 with the Shell's command and resolved by the Shell's roles.js by the site's scene script. The script refuses to write a palette whose mapping misses WCAG AA where the site uses it, and the Light Field behind the page is pulled toward the base colour just far enough that body text stays at 7:1 on its brightest pixel.
The first scene is the wallpaper a fresh Rime install starts with. The other five were generated for this site from code in its repository, because the artwork inherited with the Shell has no recorded licence. The palette pipeline is the same for any image.
Accessibility is part of the palette
Contrast is checked, not hoped for. Focus rings are drawn in the text colour, so they are visible on every palette. Status is never shown by colour alone.
- Reduce Motion removes every travelling motion and keeps short fades; the motion speed setting scales the rest.
- This site follows the same rules: try the Motion and Appearance switches at the bottom of any page.