Ein Recalbox-Theme erstellen

45 Seiten · 8 Abschnitte
FRENESDE Alles anzeigen Mein Theme erstellen

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.

base.xml Hintergrund = blau rouge.xml Hintergrund = rot der Hintergrund ist ROT von oben nach unten gelesen: zwei Komponenten gleichen Namens ersetzen einander, die LETZTE gewinnt das ist der ganze Überlagerungsmechanismus — und damit der Optionen

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.