Unbedarfter fragt: warum immer Neustart bei Skin- Wechsel?

  • Ein Skin besteht doch aus ein paar Bildern und den "Positions"- und "Transparenz"- Werten der Elemente (mal grob vereinfacht).


    Weshalb muss bei einem Skin- Wechsel dann immer die ganze Box neugestartet werden ?


    ist das


    a) Bequemlichkeit, weil man sonst das "neueinlesen" der Skins erst mal programmieren müsste
    b) Hoffnung auf mehr Stabilität, weil der Skin nicht "on the fly" ausgetauscht wird, es keine Files gibt, die gerade im Zugriff sind,etc...
    c) Eine technische Hürde, die nicht genommen werden kann ?


    Es würde mich einfach interessieren... Wenn man ein paar neue Skins ausprobieren will, dann ist man locker mal 10 minuten dran, nur weil man ständig neu Booten muss...


    Thanx
    Tode

  • Zitat

    Original von 3c5x9
    Im Webinterface gibt es eine Funktion "Restart E2"


    Das 'läd' den Skin indem nur Enigma2 neu gestartet wird, ohne gleich die ganze Box neu zu booten.


    Per Telnet geht es auch mit killall -9 enigma2

    Dreambox 7025+
    OoZooN-CVS-Image
    300GB HDD
    1GB CF

  • natürlich muss ich "Nur" enigma2 neu starten. Aber auch das dauert in meinen Augen viel zu lang, um "mal schnell" 5 Skins auszuprobieren. spätestens nach 2 habe ich da keine Lust mehr...


    Deshalb diese Frage. Wenn es einen "Workaround" gäbe ala...


    "Ruf die Funktion InitAllSkins in der InitEnigma.py auf"


    der nur nicht verwendet wird, weil das ganze instabil werden kann / wird, dann würde ich das gerne wissen und das gerne mal "riskieren".


    Gruß
    Tode

    • Offizieller Beitrag

    es hat einfach keiner so implementiert.
    Ich meine tmbinc meinte mal so einfach wie er das ursprüngliche angedacht hatte war das dann nicht mehr oder so... aber ich muss zugeben... ich wechsele meinen skin ca. 1x alle 6 Monate... ich kann damit leben...

    mfg ,
    Reichi

  • Wenigsten mal sicher die png's für das Hauptmenü (bei den anderen png's habe ich es noch nicht versucht) werden OnTheFly eingelesen.
    Fein wenn man beim Skin nur mal was an der Grafik was "bastelt" :smiling_face:


    Den Skin direkt in Enigma2 neu laden, anstelle Enigma2 neu starten wäre natürlich schon eine feine sache. :grinning_squinting_face:
    Was weint ihr wie oft ich Enigma2 schon neu gesartet habe wenn ich mir einen Skin zurechtbastle und in der skin.xml änderungen überprüfen will..... :loudly_crying_face:

    >> Wir Schweizer haben die Uhren, aber keine Zeit ! <<

  • auch ich wechsle meinen Skin nicht regelmässig.. (aktuell nutze ich Nemesis Glassline, den finde ich richtig genial, das beste was ich bisher gesehen habe).


    Aber wenn ich ein neues Image aufspiele, oder man wieder 5-10 Skins runterlade, dann würde ich diese Skins halt einfach gerne in einer "besseren" Preview ausprobieren... Die Bilder, die in den Skin- Selektoren drin sind, sagen ja nicht wirklich was darüber aus, wie sich ein Skin "anfühlt" (Lesbarkeit der Schriften, Aufbau der Listen, etc...).


    Wenn ich mich dann für einen Skin entschieden habe, bleibt der auch ne ganze Weile auf der Box... Aber das ausprobieren dauert mir persönlich viel zu lange...


    Ich könnte mir sowas vorstellen wie:


    2 Möglichkeiten:
    1. Skin auswählen -> Preview (mit möglicher Warnung: Stabilität erst nach reboot)


    2. Skin auswählen -> Übernehmen -> Enigma2 wird neugestartet.


    Dann könnnte man schnell die Skins antesten, und wenn einem der Skin gefällt, macht man EINEN restart von Enigma um die Änderungen zu übernehmen.


    Weitergesponnen könnte man dann im "Preview"- Mode rechts oben in der Ecke einen Text "Preview" einblenden, damit man nicht vergisst, die Änderungen per Knopfdruck dann "endgültig" zu übernehmen.


    Das wäre mal ein richtig cooles feature...


    Tode

  • Wer sagt denn das ein möglichr Skinwechsel ohne Enigma2 restart ein instabieles System geben könnte.
    Ich denke der Aufwand ohne Enigma2 restart ist einfach nicht zu unterschätzen, wenn man es aber machen würde wäre es naürlich auch stabiel. :winking_face:

    >> Wir Schweizer haben die Uhren, aber keine Zeit ! <<

  • gut... dann gehen wir es mal anders an:


    Die Developer wollen / können dieses Feature im Moment nicht liefern (wahrscheinlich gibt es genug andere Dinge mit Prio).


    Wenn uns aber jemand sagen könnte, in welchen Python- Files welche Aufrufe beim Enigma2- Start für den Skin zuständig sind (oder zumindest mal sagen, in welchen python- Files was über die Skins drinsteht), dann könnte man ja mal anfangen zu basteln.


    Es sei denn, das ganze Skin- Handling findet auf einer tieferen Ebene statt...


    Dann findet sich sicher der ein oder andere, der aus dem "Enigma2- Reinit" ein "Enigma2-Skin-Reinit" bastelt...


    Auch ich würde mich da gerne mit meinen Programmierkenntnissen (auch wenn ich noch nicht wirklich viel mit Python gemacht habe, aber vielleicht kann ich mit "logik" helfen) einbringen...


    Gruß
    Tode

  • schau dir mal mein Skin Transparence/Helligkeits Korrektur Plugin an das eigentlich nur ein bischen die Skin einlese routine für die Farben in der skin.py patched.


    Im Prinzip kannst du die entsprechende Lade Routine auch mehrfach aufrufen aber ich denke das das nicht gut ausgehen wird. Ich habs mal probiert als ich sehen wollte ob ich die Transparenz dynamisch ändern kann ....

    Einmal editiert, zuletzt von Lost in Translation ()

  • Das Problem ist, das aktuell Screens nur bei der erstellung die Skindaten verwenden um dan die eWidgets zu konfigurieren.


    Bei einem Skinwechsel wären also zuerst mal nur neue Fenster betroffen. Abhilft schafft evtl. der "skin reload" patch, den ich für skin-scaling (auflösungswechsel on the fly, macht z.b. im picture viewer oder im testbildviewer sinn) eh brauche.


    Allerdings ist das noch ein wenig komplizierter, denn ein neuer skin kann ja andere renderer und dummy widgets haben als der alte. Diese müsste man also auch korrekt neu erstellen.


    Spätestens die Infobar kann man auch nicht einfach schliessen und neu öffnen (als user).