Plugin-Menu
Aus open7x0.org
Das Plugin-Menu ist Bestandteil des Menu-Systems der VDR Firmware. Die Besonderheit des Plugin-Menus ist, dass es vollständig von den Nutzern für eigene Erweiterungen konfiguriert werden kann. Dieser Artikel berschreibt diese Erweiterungen.
Inhaltsverzeichnis |
Aufruf des Plugin-Menus
Das Plugin-Menu ist Bestandteil des Menu-Systems und kann aus fast allen Menus durch die blaue Taste aktiviert werden.
Plugins
Alle ausführbaren Dateien in den Verzeichnissen /opt/local/plugins und /opt/local/etc/plugins sind potentielle Plugins.
- Plugins in /opt/local/etc/plugins gelten nur für die aktuelle Konfiguration.
- Plugins in /opt/local/plugins gelten für alle Konfigurationen.
Plugins werden für verschiedene Zwecke aufgerufen. Der Zweck wird als erster Parameter übergeben. Anfangs sind genau zwei Zwecke definiert: --info und --exec.
Um Erweiterungen (weitere Zwecke) zu ermöglichen, muss sich jedes Plugin bei einem bei einem unbekannten ersten Parameter mit dem Exit-Kode '1' und ohne weitere Ausgabe auf stdout beenden.
Aufruf mit Option --info
Dieser Aufruf mit der Option ---info erfolgt beim Aufbau der Plugin-Menus zur Identifizierung und Statusbafrage des Plugins:
Syntax: path_to_plugin --info <info_file>
Das Plugin schreibt ans Ender der Datei '<info_file>' (Dateiname ohne Leerzeichen oder anderen Sonderzeichen) beliebig viele Zeilen im Format:
Gruppe|Sortierung|Titel|Programm|Parameter
Jede Zeile entspricht einer Menu-Zeile. Die 5 Felder werden durch exakt 4 Pipe-Zeichen ('|') voneinander getrennt. Das Pipe-Zeichen kann daher nicht Bestandteil eines Feldes sein.
- Durch die 'Gruppe' sollen die Plugins gruppiert werden. Bei 10 oder weniger Plugins werden die verschiedenen Gruppen durch einen Extra-Abstand markiert. Bei 11 oder mehr Plugins werden die Plugins in Untermenus verwaltet. Die Gruppen werden autoamtisch alphabetisch sortiert.
- Das Feld 'Sortierung' hilft bei der Sortierung innerhalb einer Gruppe.
- Das Feld 'Titel' erscheint als Menu-Zeile.
- Das Feld 'Programm' ist der Pfad, der bei Auswahl aufgerufen wird. Hier sollte im Zweifelsfalle der Wert '$0' eingetragen werden.
- Das Feld 'Parameter' sind zusätzliche Parameter, die dem Plugin bei Aufruf übergeben werden.
Der Exit-Status wird nicht ausgewertet.
Aufruf mit Option --exec
Wurde ein Programm ausgewählt und wird nun ausgeführt, dann wird es mit der Option --exec aufgerufen:
Syntax: <Programm> --exec <Parameter>
Die beiden Felder '<Programm>' und '<Parameter>' werden aus den obigen '<info_file>' extrahiert.
Beendet sich das Programm mit dem Exit-Kode '0', dann wird das Plugin-Menu wieder angezeigt. Beendet sich das Programm mit dem Exit-Kode '1', dann wird ein Fehler signalisiert und das Plugin-Menu wieder angezeigt. Beendet sich das Programm mit dem Exit-Kode '2', dann werden die Plugins mit --info neu gescanned und danach das Plugin-Menu wieder angezeigt.
Durch den Aufruf von
[[ -f $MGR_PATH/mgr-setup ]] || MGR_PATH=/usr/mgr . $MGR_PATH/mgr-setup
werden eine Reihe von Exit-Kodes (alle mit Prefix 'MGR_ST_'; siehe Datei '/usr/mgr/mgr-setup') definiert. Bei einem solchen Exit-Kode wird exakt die damit verbundene Aktion ausgeführt.
Links zum Thema »VDR Firmware«
- VDR Firmware, Opener-Firmware, VDR Firmware FAQ, Download
- Menu-System
- Plugin-Menu
- Wichtige Verzeichnisse
- Parameter
- Wichtige Kommandos

