Colors are now read from /sdcard/Area512_data/etc/theme. Without that file the previous palette is used.
The format is one key=0xRRGGBB per line. Six hex digits, 0x required. Lines without =, malformed values and unknown keys are ignored. The file is read once at boot, so reboot after editing it.
| Key | Default | Where it is used |
|---|---|---|
background |
0x000000 |
screen background |
text |
0xCFA45F |
body text |
emphasis |
0xF5972D |
headings, key chips, chart values |
border |
0xF5972D |
frames, rules, ticks |
selected |
0xFFD966 |
selected or focused rows and controls |
box |
0x241604 |
fill inside panels, popups and table headers |
The file manager, the editor, the Markdown viewer, the console, the widgets and the preinstalled applications are all drawn with these six colors.
The boot logo and an application's image.h are 1bpp images; the brighter of emphasis and background is used for the light side of the image, so a light background does not turn them into a negative.
Using it from an application
Widget.theme_background / theme_text / theme_emphasis / theme_border / theme_selected / theme_box are available in both PicoRuby and MicroPython.
Widget.bg / amber / dim / gold / dark still return fixed values, so existing applications keep their current look.
Applications already on your SD card
Files already on the SD card are never overwritten. If directories such as home already exist, the files bundled in the firmware are not extracted.
So after updating, the preinstalled applications on your card stay as they were and will not follow the theme. To get the theme-aware versions, copy the application directories yourself from storage/home in the repository.
Deleting the whole home directory makes it be extracted again on the next boot, but your own applications and data are deleted with it.