[HowTo] Erklärung der Plugin.cfg Einträge/Variablen zur Steuerung und Anzeige

Antworten
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1287
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 3 times

[HowTo] Erklärung der Plugin.cfg Einträge/Variablen zur Steuerung und Anzeige

Beitrag von fred_feuerstein »

In letzter Zeit sind ein paar weitere Variablen zur Steuerung der Plugins in die jeweiligen Plugin.cfg-Dateien hinzugekommen.
Dies zum Anlass und zum besseren Verständnis, was man mit den einzelnen Variablen steuern und einstellen kann, habe ich nun mal begonnen die verschiedenen Optionen aufzulisten.

Es gibt zwar auch Wiki-Einträge dazu, aber meist sind die Erklärungen darin nicht mehr gültig, unvollständig oder eben nicht mehr auf aktuellem Stand.


Einleitung

Die Plugin.cfg Dateien sind zur Konfiguration eines Plugins gedacht. u.a. Anzeige-Optionen oder zur Deklaration des Plugin-Typs. Sie haben grundsätzlich den gleichen Namen wie das zugehörige Plugin selbst. Nur statt der Endung .sh oder .so oder .lua haben sie als Dateityp .cfg.

Ich beschreibe mal kurz die Verzeichnisse, die beim Einlesen von Plugins berücksichtigt werden:

Code: Alles auswählen

 scanDir(GAMESDIR); // /var/tuxbox/games
 scanDir(g_settings.plugin_hdd_dir.c_str()); // /media/sda1/plugins
 scanDir(PLUGINDIR_MNT); // /mnt/plugins
 scanDir(PLUGINDIR_VAR); // /var/tuxbox/plugins
 scanDir(PLUGINDIR); // /lib/tuxbox/plugins
Als Standardort der Plugins sind folgende Orte vorgesehen:

Code: Alles auswählen

/lib/tuxbox/plugins  => die Plugins in diesem Ordner kommen sind im Image enthalten
/var/tuxbox/plugins => Standardordner für eigene Plugins, skripte, etc.
Die in diesen beiden Ordnern enthaltenen Plugins sind im Image auswählbar.

Beispiel einer plugin.cfg (am Beispiel vom Logo-Updater):

Code: Alles auswählen

type=3
name=fred_feuerstein's Logo-AddOn
desc=SAT-Senderlogo-Updates seit letztem NI-Release
index=01
key=auto
needfb=1
needrc=1
needoffsets=1
hide=0
shellwindow=1
integration=0
hinticon=logo-addon_hint
Nun die Erklärung zu den einzelnen Optionen:

type
Plugin-Typ. Es gibt folgende verschiedene Typen:

Code: Alles auswählen

type=0      ausgeschaltet
type=1      Spiele
type=2      Werkzeug (normales Plugin, meist über blaue Taste)
type=3      Script (im NI über blaue Taste / Skripte zu finden)
type=4      LUA-Plugin
name
Name des Plugins, unter dem es in den Menüs zu sehen ist.

desc
Beschreibung des Plugins. Diese Beschreibung wird in der "Hint-Box" unter den Menüs angezeigt.


index
Damit kann man die Reihenfolge der anzuzeigenden Plugins bestimmen. Je kleiner die Zahl "xx", desto weiter oben wird das Plugin gelistet.
Ohne diesen Wert wird per default nach Name der Plugins sortiert. Zuerst kommen die Plugins aus /var/tuxbox/plugins, dann die Plugins aus /lib/tuxbox/plugins. Jeweils nach den Namen (aus der cfg) sortiert.

Code: Alles auswählen

index=xx
key NEU ab dem nächsten Image (Stand 09.11.2014)
Hiermit kann man die Farbtasten (sofern in dem jeweiligen Menüort des Plugins noch frei) fest einem Plugin zuordnen. Bspw. Plugin Logo-Updater soll unter Skripte mit "grün" aufrufbar sein. Dann muss hier "key=green" gesetzt werden. Wenn der Wert nicht angegeben ist in der cfg, dann wird der default-Wert "auto" gesetzt. Damit bleibt alles beim alten.
Mit dieser Option sind folgende Einstellungen möglich:

Code: Alles auswählen

key=red
key=green
key=yellow
key=blue
key=auto
hide
Mit hide kann eingestellt werden, ob das Plugin in den Menüs sichtbar ist oder versteckt.
Im NI Image kann diese Option im Menü / NI Einstellung / Pluginsteuerung / Plugins auf blauer Taste eingestellt werden.
Oder eben direkt in der Datei.

Code: Alles auswählen

hide=0      sichtbar
hide=1      versteckt / unsichtbar 
shellwindow (neu)
In neueren Images kann bei der Ausführung eines Plugins gesteuert werden, ob ein großes Fenster mit Shell-Ausgaben angezeigt werden soll oder nicht. Bei manchen Plugins ist diese Ausgabe sehr sinnvoll, da man sofort sehen kann ob und was passiert. Bspw. beim Logo-Updater.
Bei anderen Plugins, die bspw. eigene Bildschirmausgaben haben, sollte das deaktiviert werden.
Folgende Einstellungen sind möglich:

Code: Alles auswählen

shellwindow=1   Shell-Fenster wird angezeigt
Shellwindow=0   Shell-Fenster wird nicht angezeigt
integration (neu)
Hiermit kann gesteuert werden, in welchem Menü das Plugin angezeigt werden soll. Normalerweise sind die Plugins unter der blauen Taste zu sehen. Dies kann schnell unübersichtlich werden.
Mit dieser Option sind folgende Einstellungen möglich:

Code: Alles auswählen

integration=0   deaktiviert (Anzeige über blaue Taste)
integration=1   reserviert, bisher ohne Funktion
integration=2   Anzeige des Plugins im Menü Multimedia
integration=3   Anzeige des Plugins im Menü Einstellungen
integration=4   Anzeige des Plugins im Menü Service
integration=5   Anzeige des Plugins im Menü Informationen
integration=10  Anzeige des Plugins im Menü NI-Einstellungen
hinticon (neu, erst ab nächste NI Beta dabei)
Seit Anfang Oktober kann zu jedem Plugin ein eigenes Icon in der jeweiligen "Hint-Box" unterhalb der Menüs, in dem auch die Beschreibung des Plugins steht, angezeigt werden.
Per default wird ein PNG angezeigt, welches den gleichen Namen haben muss wie das Plugin mit der Endung *_hint.png und im gleichen Verzeichnis wie das Plugin liegt.
Über die Variable hinticon kann auch ein anderer Name des Plugins gesetzt werden.
Beim Namen wird keine Dateiendung eingetragen.
Bsp:

Code: Alles auswählen

hinticon=logo-updater
Diese Eingabe setzt eine Logo-Datei mit dem Namen logo-updater.png vorraus.

Wenn kein Logo vorhanden ist und auch kein Eintrag in der cfg vorhanden, dann wird im Image ein Default-Icon angezeigt.

Allgemein zu den hier nutzbaren Logos: PNG in der Auflösung 48x48px.


Folgende Parameter sind von der Dbox übernommen worden, haben allerdings aktuell keine Funktion mehr.
[+] Spoiler

needfb
Plugin benötigt den FrameBuffer (Nur bei type 1 und 2)

needrc
Plugin benötigt die Fernbedienung (Nur bei type 1 und 2)

needlcd
Plugin benötigt das LC-Display

needvtxtpid
Plugin benötigt die Videotext PID Nummer (Nur bei type 1 und 2)

needoffsets
Die Größe des Bildschirms wird gemäß der Einstellungen unter "OSD-Bereich einstellen" als Parameter übergeben. (Nur bei type 1 und 2)

pigon
?

Fazit


Nun sollten die einzelnen Einträge besser zu verstehen sein :)
Viel Spaß beim Experimentieren, gerade was die Anzeige-Optionen und Icons betrifft.
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1287
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 3 times

Re: [HowTo] Erklärung der Plugin.cfg Einträge/Variablen zur Steuerung und Anzeige

Beitrag von fred_feuerstein »

ergänzend zu obigen Möglichkeiten kann man nun das Exit-Verhalten beim Verlassen eines Plugins über die cfg einstellen.

Genaueres hier:
plugins-f15/exit-verhalten-von-plugins-t5330.html

thx. vanhofen
Antworten

Zurück zu „HowTo's“