Das Theme aufteilen: <include>
Ein ernsthaftes Theme passt nicht in eine einzige Datei.
<include> lädt eine andere Datei an genau dieser Stelle, als wäre ihr Inhalt dorthin kopiert.
<include>${root}/views/system.xml</include>
<include path="${root}/views/detailed.xml" />
Beide Schreibweisen funktionieren: der Pfad als Inhalt des Tags, oder als Attribut path.
Die Reihenfolge zählt
Recalbox liest von oben nach unten, und zwei Komponenten mit demselben Namen ersetzen einander: die letzte gewinnt.
Das ist der ganze Overlay-Mechanismus — und so sind die Theme-Optionen gebaut: Jede Wahl ist eine obendrauf geladene Datei, die nur neu definiert, was sich ändert. Siehe Was eine Option ist.
<include>${root}/views/base.xml</include> <!-- malt den Hintergrund blau -->
<include>${root}/options/rouge.xml</include> <!-- malt ihn rot um -->
Bedingt einbinden
Ein <include> akzeptiert if=, wie eine Komponente: Die Datei wird nur geladen, wenn die Bedingung wahr ist.
<include if="crt">${root}/views/system-crt.xml</include>
So bedient man je Bildschirm ein anderes Layout, ohne alles andere zu duplizieren. Die Liste der Bedingungen steht in Bedingt anzeigen.