Neue Skin-Optionen - enigma2-4.3.1r24

    • Offizieller Beitrag

    Moin,


    im kommenden update wird es gerade für Skinner ein paar neue, attraktive Möglichkeiten geben, die in Zusammenarbeit dem Merlin Team enstanden sind.
    Das eine sind neue Möglichkeiten für eLabel und ePixmap :

    • eLabel

      • beherrscht nun ordentliches blending auf seinen Hintergrund indem man alphatest="on" oder das neue blending="on" setzt (selbe funktion, schönerer name)
      • hat das Attribut cornerRadius="<zahl>" erhalten mit dem man abgerundete Hintergründe erschaffen kann. cornerRadius erzwingt alpha-blending, da man dies aufgrund den ecken unbedingt benötigt ;).
    • ePixmap

      • kennt das attribute gradient="<fromcolor>,<tocolor>,<vertical|verticalCentered|horizontal|horizontalCentered>

    Folgender Code sorgt für das was man im angehängten Screenshot sieht (der Screensaver diente mir als einfach Vorlage um auch die durscheinenden Hintergrundfarben zu demonstrieren)

    XML
    <screen name="Screensaver" title="Screensaver" position="center,center" size="fill_parent,fill_parent" backgroundColor="#000000">
        <widget name="wallpaper" position="0,0" size="fill_parent,fill_parent" zPosition="1"/>
        <ePixmap position="center,0" size="50%,20%" gradient="#20FF0000,#2000FF00,vertical" zPosition="2"/>
        <ePixmap position="center,20%" size="50%,20%" gradient="#20FF0000,#200000FF,verticalCentered" zPosition="2"/>
        <ePixmap position="center,40%" size="50%,20%" gradient="#2000FF00,#20FF0000,horizontal" zPosition="2"/>
        <ePixmap position="center,60%" size="50%,20%" gradient="#200000FF,#2000FF00,horizontalCentered" zPosition="2"/>
        <widget name="info" position="center,80%" size="50%,20%" valign="center" halign="center" backgroundColor="#20DDDDDD" foregroundColor="#000000" zPosition="2" cornerRadius="16" /> <!-- blending ist hier automatisch an, weil cornerRadius gesetzt, ohne würde man einfach blend="on" setzen -->
    </screen>


    Der zweite große Punkt für Skinner sind die "layouts". Das sind wiederverwendbare Skin-Bausteine die helfen die ständigen Wiederholungen von Code loszuwerden.
    Folgend die Beschreibung vom Merlin-Team dazu

    Vielen Dank an das Merlin Team für die eigentliche Implementierung (auch wenn ich immer was zu meckern und ändern hab ;)) und vor Allem auch die ersten Tests an der ganzen Sache und viel Spass mit dem neuen Skin-Features!


    Nachtrag: Um den Jungs aus dem Merlin-Team nicht zu viel Arbeit zu machen werden die ursprünglichen Attribute "radius" und "roundedlabelColor" auch bei uns korrekt behandelt. Bei den Farbverläufen war leider ein Dreher drin so dass Ihr einmal "horizontal" und "vertical" gegeneinander tauschen müsst.

  • Jo, danke fürs übernehmen (auch wenns abgeändert ist und wieder überarbeitet werden muss)


    Kurze Frage zu den % Angaben der Größen und Positionen. Kann das nun so im skin.xml verwendet werden? Oder habe ich einfach die Implementierung übersehen ?

    • Offizieller Beitrag

    Das war schon länger drin, hatte aber noch nen Bug über den ich beim Screensaver gestolpert bin.
    Das kann dann nun vollwertig benutzt werden.
    Pixelgenaues arbeiten ist damit aber nicht möglich, deswegen ist es nicht immer sinnvoll.
    Es läuft auch nicht mit MultiContent, ist also wirklich nur für relativ einfach Dinge.

  • Moin


    Ich hoffe es passt hier rein, ansonsten löschen
    Eine Bitte von den Sehbehinderten
    Die Schriftgröße variabel zu gestalten und zwar in allen Bereichen
    Űber GP oder Font Magnifier kann man schon einiges machen, aber leider nicht die Videoliste
    Ich hoffe es ist verständlich


    Gruß Rolf

    Gruß Rolf


    920 S2FBC+Triple, WDblue 4tb
    900 S2FBC
    525HD S + C, 520HD S

    NAS Synology 220+

    UST Beamer Bomaker Polaris

  • Das individuelle Einstellen einer Schriftgröße ist leider nur bei frei skalierbaren GUIs möglich. Auch in OE2.5 definiert in weiten Bereichen der Skinner, welche Schriftgrößen er als gut befindet.


    Entsprechend kannst du aber auch die skin.xml des Wunschskins selbst editieren/ändern. Oder einen Skin finden, der eine ausreichend große Schriftgröße benutzt. Oder den Skinner bitten, dir (optional) die Screens zu überarbeiten.


  • Die Schriftgröße variabel zu gestalten und zwar in allen Bereichen

    Ihr stellt euch das immer so einfach vor.
    Im Merlin EPG Center gibt es zB. eine Option dafür.
    Aber da sieht man auch das sowas nicht wirklich optimal ist ... wenn dann in der größen Einstellung der Text nicht mehr in das vorgebene Feld passt.
    Denn nur den Text größer machen allein reicht nicht. Auch das dazugehörige Feld müsste jedesmal "mitwachsen".

    DM 920 UHD sss :smiling_face_with_heart_eyes:

  • Wenn nicht variabel möglich dann ein einfacher skin ohne Schörkel


    Esgeht nur darum die Shrift aus der Entfernung zu sehen


    Dies sollte als Service eigentlich von Dream kommen
    Und irgendwo in einer xml rum zu wurschteln liegt auch nicht jedem

    Gruß Rolf


    920 S2FBC+Triple, WDblue 4tb
    900 S2FBC
    525HD S + C, 520HD S

    NAS Synology 220+

    UST Beamer Bomaker Polaris

  • erstmal danke für den Nachtrag. Kurze Frage trotzdem...


    werden die Merllin Atribute übernommen oder gelten beide? Was ist mit roundedlabelColor Attribut?
    heisst es nun blend="" oder blending="" (siehe codebeispiel/beitrag1) ?


    bis jetzt crasht es im Merlin sobald man alphatest="" im eLabel mit roundedColor="" verwenden wollte.
    Ich denke wird behoben, da alphatest nun automatisch auf ON ?

  • Es ist im Moment so, dass man in einer Skin Datei mehrere <layouts>...</layouts> Sektionen haben kann. Ist dies nur ein Nebeneffekt oder ist es offiziell unterstützt, d. h. kann man davon ausgehen, dass dies auch in Zukunft weiter so funktionnieren wird?

  • Ein Layout Tag ist eine Subroutine, die man aus anderen Skinbereichen beliebig oft aufrufen kann. Logischerweise kann man auch mehrere Subroutinen anlegen. Das ist kein Nebeneffekt, das war dringend notwendig :grinning_squinting_face:

  • Ich habe keine Ahnung wer die Schlümpfe in diesem Kontext sind, aber das <layouts> Tag gibt's sehr wohl von Reichi (steht ja im Beispiel vom 1. Post).


    Ich will nur wissen ob mehrere <layouts> Sektionen im Moment nur zufällig funktionieren, oder ob das so sein soll.

  • Der zweite große Punkt für Skinner sind die "layouts". Das sind wiederverwendbare Skin-Bausteine die helfen die ständigen Wiederholungen von Code loszuwerden.

    gruß pclin

    Dreambox ONE, TWO, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-buster, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG OLED65BX9LB (PicCap)

    ---

    Hyperion (NG), Hyperion (Classic) mit Plugin HyperionControl auf der Dreambox ONE/TWO

    ESP32 mit WLED Wlan 263 LED's SK6812-NW 60 LED/m

    DM9x0 Plugin EnigmaLight, Hyperion (NG)


    Ambilight for ever

  • definiert ist:

    Code
    <layouts>
    <!-- 1 to many repetitions -->
    <layout/>
    </layouts>


    mehrere tags <layouts> machen eigentlich keinen Sinn.


    Aber: Dr.Best hat das halt smart programmiert in der skin.py:

    Code
    for l in skin.findall("layouts"):
    for layout in l.findall("layout"):
    layouts.apply(layout)

    Gruss
    Dre


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