The <subset> tag gives a readable name and a help text to a theme option group. The group itself is created by the <include> tags carrying the same subset attribute; <subset> only dresses it for the user.
Options declared this way appear in MAIN MENU > USER INTERFACE SETTINGS > THEME, under a header carrying the theme name.
<subset> goes at the root of <theme>, outside any <view>.
<theme>
<subset subset="colorset" title="Colour set" title.fr="Jeu de couleurs"
help="Choose the colour palette of the theme."
help.fr="Choisissez la palette de couleurs du thème." />
<include name="Dark" subset="colorset" path="./colors/dark.xml" />
<include name="Light" subset="colorset" path="./colors/light.xml" />
</theme>
| Property | Mandatory | Purpose |
|---|---|---|
subset |
Yes | Technical name of the group. Must exactly match the subset attribute of the <include> tags |
title |
No | Label displayed in the menu |
help |
No | Help text displayed under the menu |
if |
No | Condition for declaring the group |
The group name is free: colorset, iconset, menu, systemview and gamelistview are the historical names, but nothing prevents you from declaring background, font or mood.
title and help accept language, full-locale and region suffixes, like any other theme property.
<subset subset="mood"
title="Mood" title.fr="Ambiance" title.de="Stimmung"
help="Pick the overall mood of the theme."
help.fr="Choisissez l'ambiance générale du thème." />
Recalbox keeps the first match found in the file. Declaration order therefore matters, and a language-only match (title.de) wins over a locale match (title.de_CH) if it is written first. The complete rules are detailed on the contextual variables page.
Language codes are 2 characters (ISO 639-1 list), country codes too (ISO 3166-2 list).
<subset> with no matching <include> produces no option in the menus.<include>, for instance — Recalbox automatically falls back to the first value of the group and saves the correction.