SkinReloader-Plugin (DreamOS)

  • Mit dem SkinReloader kann man live (ohne GUI-Neustart) den aktuellen Skin nach einer Änderung der Skin-Datei sofort reloaden bzw. sogar live (ohne GUI-Neustart) zu einem anderen Skin wechseln (beachte jedoch den Hinweis unten !!!).


    Die Idee zum Plugin entstand, da mich immer die vielen nervigen GUI-Neustarts gestört haben, wenn man nur mal schnell ein paar Angaben im Skin ändern wollte ;)

    Insbesondere dann, wenn man eigentlich nur die richtige Position eines Skin-Elements finden wollte, was dann am Ende doch mehr GUI-Neustarts erforderte, als anfangs gedacht.

    Im Ergebnis bietet das Plugin neben dem ursprünglich angedachten Skin-Reload jetzt sogar noch die Möglichkeit zum direkten Skin-Wechsel.


    Als kleine Zugabe kann man im Plugin auch einen einfachen Skin-Syntax-Check (xml-syntax und skin-syntax) ausführen, um schon vor dem Reload zu Fehlern informiert zu werden und nicht erst beim GS, wenn es einen xml-Parse-Error gibt oder der fehlerhafte Skin-Screen aufgerufen wird.

    (dies kann man über die Option im Plugin automatisch beim reload/change machen bzw. manuell im Plugin über die Menü-Taste)


    Auch kann man einen skinWatcher aktivieren, der dann im Hintergrund die skin*.xml's überwacht.

    (der skinWatcher kann im Plugin manuell über die gelbe Taste oder den Befehl im Erweiterungsmenü bzw. über die Option im Plugin automatisch beim Box-/-GUI-Neustart aktiviert werden)

    Dabei wird skin.xml des aktuellen skins sowie die skin_user.xml und skin_user_display.xml in /etc/enigma2 überwacht.

    Sobald eine dieser skin-Dateien geändert wurde, wird durch den aktivierten skinWatcher sofort der Skin-Reload gestartet.

    Diese Funktion sollte man mit dem Skin-Syntax-Check kombinieren, um evtl. noch vorhandene Tippfehler bereits vor dem skinreload abzufangen.

    Bisher erfolgt der skin-Syntax-Check nur für die skin.xml (die skin_user*.xml kommen evtl. noch dazu).


    Hinweis:

    Das Plugin erhebt keinen Anspruch auf eine komplett fehlerfreie Folgenutzung nach SkinReload bzw. SkinChange.

    Grundsätzlich ist e2 für solche Sachen nicht gedacht, so dass es in der Folge durchaus auch mal einen GS geben könnte.

    Daher richtet sich das Plugin grundsätzlich auch nur an Skinner und Plugin-Ersteller, die eben öfter mal den Skin neu laden wollen, um skin-Anpassungen jetzt schneller überprüfen zu können oder die Ansicht eines Plugins schnell in verschiedenen Skins überprüfen zu können.

    Das Plugin ist daher auch nicht für den Normaluser zur Alltagsnutzung gedacht !!!

    PS:

    Da der Code doch sehr mies und tricky ist, wurde das Ganze erstmal in einem .so-File verpackt ;)

    Für die mipsel-Boxen gibt es noch keine .so-Datei, weshalb es das Plugin vorerst nur für die dm9x0 und One gibt.


    Dank an die User, die mich in Vorabtests bei diesem Plugin unterstützt haben (dhwz, pclin, hilfsbereit und zombi) :thumbup:

  • Er meinte, dass er damit skins aus alten Sourcen einfach nehmen kann und es ihm sagt, was geändert werden muss.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource