Skip to content

v2.2 -- Theme support

Latest

Choose a tag to compare

@engneer-hamachan engneer-hamachan released this 22 Aug 01:05
0d50c09

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.