Das erste Grundgerüst eines eigenen Skins
An diesem Artikel wird derzeit gearbeitet. Achtung: Der Artikel kann unvollständig und fehlerhaft sein!
Einleitung
Hier geht es darum was man mindestens Benötigt um ein Skin auswählen zu können folgende Kriterien erfüllt:
- erstens als Grundgerüst der skin.xml dient
- zweites auch startet ohne zu Crashen
Die skin.xml
Die skin.xml ist die Datei die das verhalten eures Skins beeinflusst.
Im Normalfall werden dort die meisten Screens "geskinnt", die Screens die nicht geskinnt wurden, werden dann im Normalfall über den "default-skin" dargestellt.
Dies bedeutet als gute Ausgangsbasis ist der Skinaufbau des Defaultskins immer eine gute Idee. Auch wenn sich mal was am OE2.0 ändert ist der Defaultskin wohl der erste Skin der die Neuerungen Problemlos darstellen sollte. Bei dem neuen OE2.0 gibt es ja nun auch zusätzlich den neuen Skin Default-HD wer ja endlich einen HD Skin als default verwenden will. Auch hier kann es recht Sinnvoll sein sich diesen anzuschauen.
Später kann und wird es natürlich sein das man sich die Unterschiede von verschiedenen Skins mal selbst genauer betrachtet um zu sehen was dort denn anders gemacht wurde und was diese Änderungen denn bewirken.
Die skin.xml ist zu finden unter: usr/share/enigma2/ im entsprechenden Verzeichnis der installierten Skins. |
Erstellen wir also unseren eigenen Skin (ohne Grafik usw.), der einfach nur Startet. Erstellt euch also folgendes in usr/share/enigma2/:
- ein eigenes Verzeichnis für den neuen Skin (ich benutze mal BlackdreamHD)
- eine skin.xml die mindestens folgendes enthält (aus dem Skin Default-HD) herausgenommenen und getestet.
Die skin.xml im OE2.0, muss folgendes beinhalten damit diese überhaupt Bootbar ist und nicht beim Aufruft crasht:
- die Definition des Skins <skin> </skin>
- die Definition der Auflösung <output id="0"> </output>
- die Definition der Farben <colors> </colors>
- die Definition des Fonts <fonts> </fonts> (war bei OE1.6 nicht nötig)
- die Definition der Farben der Fenster <windowstyle> </windowstyle>
<skin> <!-- Head for Image resolution --> <output id="0"> <resolution xres="1280" yres="720" bpp="32" /> </output> <!-- Colors (#AARRGGBB) --> <colors> <color name="black" value="#000000"/> <color name="white" value="#ffffff"/> <color name="grey" value="#b3b3b9"/> <color name="grey2" value="#d3d3d9"/> <color name="dark" value="#20062748"/> <color name="menu" value="#20062748"/> <color name="red" value="#f23d21"/> <color name="green" value="#389416"/> <color name="blue" value="#0064c7"/> <color name="yellow" value="#bab329"/> <color name="transparent" value="#ff000000"/> <color name="transpBlack" value="#80000000"/> <color name="transpWhite" value="#80ffffff"/> <color name="background" value="#200d1940"/> <color name="foreground" value="#ffffff"/> </colors> <!-- Fonts --> <fonts> <font filename="nmsbd.ttf" name="Regular" scale="100"/> <font filename="lcd.ttf" name="LCD" scale="100"/> <font filename="ae_AlMateen.ttf" name="Replacement" scale="100" replacement="1"/> <font filename="tuxtxt.ttf" name="Console" scale="100"/> </fonts> <!-- Main screen colors (id=0 Framebuffer) --> <windowstyle type="skinned" id="0"> <title offset="15,9" font="Regular;26" /> <color name="Background" color="#200d1940"/> <color name="LabelForeground" color="#ffffff"/> <color name="ListboxBackground" color="#200d1940"/> <color name="ListboxForeground" color="#ffffff"/> <color name="ListboxSelectedBackground" color="#204176b6"/> <color name="ListboxSelectedForeground" color="#ffffff"/> <color name="ListboxMarkedBackground" color="#200d1940"/> <color name="ListboxMarkedForeground" color="#00ff00"/> <color name="ListboxMarkedAndSelectedBackground" color="#204176b6"/> <color name="ListboxMarkedAndSelectedForeground" color="#00ff00"/> <color name="WindowTitleForeground" color="#ffffff"/> <color name="WindowTitleBackground" color="#16244b"/> </windowstyle> </skin>
Hierbei haben wir nun zwar keine Infobar und müssten Blind zappen, und auch bei Aufruf des Menü haben wir hier nur ein spartanes Fenster aber dies wäre wie gesagt die Minimalausgabe damit der Skin
keinen Crash verursacht.