Das erste Grundgerüst eines eigenen Skins: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{BoxTemplate|#fffdec|1px solid #ffdd00|[[Bild:Baustelle.png]]|An diesem Artikel wird derzeit gearbeitet. Achtung: Der Artikel kann '''unvollständig''' und '''fehlerhaft''' sein!}}<includeonly>[[Kategorie:Baustelle]]</includeonly><noinclude>
+
{|width="40%"
 
+
|[[Bild:deutsch.png]] - [[Das erste Grundgerüst eines eigenen Skins|in Deutsch]]
 
+
|[[Bild:english.png]] - [[First basics for a skin (en)|in English]]
 +
|}
 
== Einleitung ==
 
== Einleitung ==
  
 
Hier geht es darum was man mindestens Benötigt um ein Skin auswählen zu können folgende Kriterien erfüllt:
 
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
+
* erstens als Grundgerüst der <code>skin.xml</code> dient
 
 
 
* zweites auch startet ohne zu Crashen
 
* zweites auch startet ohne zu Crashen
 
  
  
 
== Die erste eigene skin.xml ==
 
== Die erste eigene skin.xml ==
  
Die skin.xml ist die Datei die das verhalten eures Skins beeinflusst. <br>
+
Die <code>skin.xml</code> ist die Datei die das verhalten eures Skins beeinflusst. <br>
 
Im Normalfall werden dort die meisten Screens "geskinnt", die Screens die nicht geskinnt wurden, werden dann im Normalfall über den '''"default-skin"''' dargestellt.
 
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.
+
Dies bedeutet als gute Ausgangsbasis ist der Skinaufbau des Defaultskins immer eine gute Idee. Auch wenn sich mal was am [[OE 2.0]] ändert ist der '''Defaultskin''' wohl der erste Skin der die Neuerungen Problemlos darstellen sollte. Bei dem neuen OE 2.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.
 
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.
Zeile 29: Zeile 28:
  
 
* ein eigenes Verzeichnis für den neuen Skin (ich benutze mal BlackdreamHD)
 
* 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.
+
* eine <code>skin.xml</code> 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 <code>skin.xml</code> im [[OE 2.0]], muss folgendes beinhalten damit diese überhaupt Bootbar ist und nicht beim Aufruft [[Green Screen|crasht]]:
  
 
* die Definition des Skins '''<skin> </skin>'''
 
* die Definition des Skins '''<skin> </skin>'''
 
* die Definition der Auflösung '''<output id="0"> </output>'''
 
* die Definition der Auflösung '''<output id="0"> </output>'''
 
* die Definition der Farben '''<colors> </colors>'''
 
* die Definition der Farben '''<colors> </colors>'''
* die Definition des Fonts '''<fonts> </fonts>''' (war bei OE1.6 nicht nötig)
+
* die Definition des Fonts '''<fonts> </fonts>''' (war bei OE 1.6 nicht nötig)
 
* die Definition der Farben der Fenster '''<windowstyle> </windowstyle>'''
 
* die Definition der Farben der Fenster '''<windowstyle> </windowstyle>'''
  
Zeile 103: Zeile 102:
 
keinen Crash verursacht.
 
keinen Crash verursacht.
  
{| class="wikitable"
+
{|
|-class="hintergrundfarbe5"
+
|[[Bild:skin_minimal_Hauptmenue.jpg|left|thumb|440px|Minimales Hauptmenü ohne zusätzlichen Grafiken]] ||
|-valign="top"
+
|[[Bild:skin_minimal_infoscreen.jpg|right|thumb|440px|Infofenster, Grafiken der Buttons. werden vom defautlskin übernommen]] ||
|[[Bild:skin_minimal_Hauptmenue.jpg|left|thumb|600px|Minimales Hauptmenü ohne zusätzlichen Grafiken]] ||
 
|[[Bild:skin_minimal_infoscreen.jpg|right|thumb|600px|Infofenster, Grafiken der Buttons. werden vom defautlskin übernommen]] ||
 
 
|}
 
|}
  
Zeile 117: Zeile 114:
 
Die XML arbeitet mit Elementen und der Skin selbst wird ja mittels dem ersten Element '''<skin>''' gestartet, beendet wird der Skin mittels '''</skin>'''
 
Die XML arbeitet mit Elementen und der Skin selbst wird ja mittels dem ersten Element '''<skin>''' gestartet, beendet wird der Skin mittels '''</skin>'''
  
Dazwischen werden die anderen Benötigten Elemente eingebaut. Wobei es immer nach dem gleichen Schema abläuft, das gewünschte Element starten mit den zwei Pfeilen '''<Elementanfang>''' und endet wenn nach dem ersten Pfeil ein Backslash '''/''' gesetzt wird '''</Elementende>'''.
+
Dazwischen werden die anderen Benötigten Elemente eingebaut. Wobei es immer nach dem gleichen Schema abläuft, das gewünschte Element starten mit den zwei Pfeilen '''<Elementanfang>''' und endet wenn nach dem ersten Pfeil ein Schrägstrich (Forward slash) '''/''' gesetzt wird '''</Elementende>'''.
 +
 
  
 
=== Kommentare ===
 
=== Kommentare ===
Zeile 131: Zeile 129:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Natürlich kann man auch bei Änderungen an der skin.xml auf diesem Wege auch gewisse Zeilen und Elemente "Auskommentieren" damit diese beim nächsten Start nicht mehr mit eingelesen werden.
+
Natürlich kann man auch bei Änderungen an der <code>skin.xml</code> auf diesem Wege auch gewisse Zeilen und Elemente "Auskommentieren" damit diese beim nächsten Start nicht mehr mit eingelesen werden.
  
  
Zeile 171: Zeile 169:
 
<!-- Hier werden die Farben der verschiedenen Fenster-Elemete festgelegt weiterhin den verwendeten Schriftsatz und dessen Größe -->
 
<!-- Hier werden die Farben der verschiedenen Fenster-Elemete festgelegt weiterhin den verwendeten Schriftsatz und dessen Größe -->
 
<windowstyle type="skinned" id="0">
 
<windowstyle type="skinned" id="0">
<title offset="15,9" font="Regular;26" />
+
<title offset="15,9" font="Regular;26" />  <!-- hier wird die Schrift des Fenstertitels positioniert incl. Schriftgröße -->
 
<color name="Background" color="#200d1940"/>
 
<color name="Background" color="#200d1940"/>
 
<color name="LabelForeground" color="#ffffff"/>
 
<color name="LabelForeground" color="#ffffff"/>
Zeile 187: Zeile 185:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Wer gerne in seinem Skin aber gerahmte Fenster verwenden will wird auch hier in der skin.xml des Default-HD fündig wie dies Aufgebaut ist:
+
Wer gerne in seinem Skin aber gerahmte Fenster verwenden will wird auch hier in der <code>skin.xml</code> des Default-HD fündig wie dies Aufgebaut ist:
  
 
Dies ist auch ein Unter-Element das dann in das Haupt-Element des '''windowstyle''' eingefügt werden muss!!
 
Dies ist auch ein Unter-Element das dann in das Haupt-Element des '''windowstyle''' eingefügt werden muss!!
Zeile 205: Zeile 203:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Komplett würde dies dann so Aussehen wie man es vom '''Default-HD''' skin her gewohnt ist. Wer hier nun andere Grafiken haben will muss sich diese dann selbst erstellen.
+
Komplett würde dies dann so Aussehen wie man es vom '''Default-HD''' Skin her gewohnt ist. Wer hier nun andere Grafiken haben will muss sich diese dann selbst erstellen.
 
 
  
 
=== Screens (Fenster) ===
 
=== Screens (Fenster) ===
Zeile 227: Zeile 224:
 
<!-- Denn im erweitertem Fenster können oder müssen ja auch verschiedene Grafiken,Label und Widget integriert werden -->
 
<!-- Denn im erweitertem Fenster können oder müssen ja auch verschiedene Grafiken,Label und Widget integriert werden -->
 
</syntaxhighlight>  
 
</syntaxhighlight>  
 
  
  
 
== zum eigenen Skin ==
 
== zum eigenen Skin ==
  
Nachdem wir nun die Minimal-Konfiguration kennen, editiere ich mir nun die skin.xml folgendermaßen:
+
Nachdem wir nun die Minimal-Konfiguration kennen, editiere ich mir nun die <code>skin.xml</code> folgendermaßen:
  
* einfügen von meiner eigenen Grafik Borderstyle also wie die Fenster aussehen sollen
+
* einfügen von meiner eigenen Grafik '''"borderset"''' also wie die Fenster aussehen sollen
 
* Anpassen der Farbpalette an meinen eigenen Wünschen
 
* Anpassen der Farbpalette an meinen eigenen Wünschen
  
Zeile 316: Zeile 312:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Und starte dann dan Enigma2 neu um die Änderungen zu übernehmen:
+
Und starte dann dan [[Enigma2]] neu um die Änderungen zu übernehmen:
  
{| class="wikitable"
+
{|
|-class="hintergrundfarbe5"
+
|[[Bild:skin_minimal_Hauptmenue_BlackdreamHD.jpg|left|thumb|440px|Minimales Hauptmenü ohne zusätzlichen Grafiken]] ||
|-valign="top"
+
|[[Bild:skin_minimal_infoscreen_BlackdreamHD.jpg|right|thumb|440px|Infofenster, Grafiken der Buttons. werden vom defautlskin übernommen]] ||
|[[Bild:skin_minimal_Hauptmenue_BlackdreamHD.jpg|left|thumb|600px|Minimales Hauptmenü ohne zusätzlichen Grafiken]] ||
 
|[[Bild:skin_minimal_infoscreen_BlackdreamHD.jpg|right|thumb|600px|Infofenster, Grafiken der Buttons. werden vom defautlskin übernommen]] ||
 
 
|}
 
|}
  
sämtliche Menüfenster wie die Einstellungen, Timer und auch der Mediaplayer werden, da nichts gesetzt wurde hier von dem Defaultskin ausgegeben.  
+
sämtliche Menüfenster wie die Einstellungen, Timer und auch der Mediaplayer werden, da nichts gesetzt wurde hier von dem Defaultskin ausgegeben.
  
  
Zeile 336: Zeile 330:
 
Mit Kommentare sollte man sparsam umgehen, aber auch nicht geizen damit es eben klar und Übersichtlich bleibt.
 
Mit Kommentare sollte man sparsam umgehen, aber auch nicht geizen damit es eben klar und Übersichtlich bleibt.
  
Da der Grundskin soweit nun läuft ohne Crashs kommen die nächsten Elemete und auch evtl. eigene Grafiken zum Einsatz.  
+
Da der Grundskin soweit nun läuft ohne [[Green Screen|Crashs]] kommen die nächsten Elemete und auch evtl. eigene Grafiken zum Einsatz.  
  
 
Hierbei folge ich meiner persönlichen '''Struktur und Reihenfolge''' die '''nicht''' eingehalten werden '''muss!'''
 
Hierbei folge ich meiner persönlichen '''Struktur und Reihenfolge''' die '''nicht''' eingehalten werden '''muss!'''
Zeile 343: Zeile 337:
 
Hier kann man aber bei den jeweiligen Skinner und Mods mit ein bisschen Übung aber auch bald eine eigene '''"Typische Handschrift"''' erkennen...
 
Hier kann man aber bei den jeweiligen Skinner und Mods mit ein bisschen Übung aber auch bald eine eigene '''"Typische Handschrift"''' erkennen...
  
 
+
[[Kategorie:Enigma2 Skins]]
[[Kategorie:Enigma2]]
+
[[Kategorie:BlueDreamHD]]
[[Kategorie:Skin]]
 
[[Kategorie:Anleitungen]]
 
[[Kategorie:Grundlagen]]
 

Aktuelle Version vom 8. September 2013, 11:37 Uhr

Deutsch.png - in Deutsch English.png - in English

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 erste eigene 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 OE 2.0 ändert ist der Defaultskin wohl der erste Skin der die Neuerungen Problemlos darstellen sollte. Bei dem neuen OE 2.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.


Ambox notice.png 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 OE 2.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 OE 1.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.

Minimales Hauptmenü ohne zusätzlichen Grafiken
Infofenster, Grafiken der Buttons. werden vom defautlskin übernommen


Erklärung zur skin.xml

Wie der Name der skin.xml schon sagt handelt der ganze Aufbau eines Skins aus der einer Scriptsprache, die den Namen XML trägt.

Die XML arbeitet mit Elementen und der Skin selbst wird ja mittels dem ersten Element <skin> gestartet, beendet wird der Skin mittels </skin>

Dazwischen werden die anderen Benötigten Elemente eingebaut. Wobei es immer nach dem gleichen Schema abläuft, das gewünschte Element starten mit den zwei Pfeilen <Elementanfang> und endet wenn nach dem ersten Pfeil ein Schrägstrich (Forward slash) / gesetzt wird </Elementende>.


Kommentare

Kommentare können wie folgt eingefügt werden:

<!-- dies ist ein Kommentar -->
 
<!-- mit diesem Zeichen beginnt ein Kommentar
     und endet erst 
     wenn diese
     Zeichenkette folgt -->

Natürlich kann man auch bei Änderungen an der skin.xml auf diesem Wege auch gewisse Zeilen und Elemente "Auskommentieren" damit diese beim nächsten Start nicht mehr mit eingelesen werden.


Elemente

<!-- Das Ausgabe Element definiert folgendes -->
	<output id="0"> <!-- Wohin der Output geht, id="0" ist der Bildschirm, (id=1 LCD), (id=2 Color OLED (dm800se) -->
	  <resolution xres="1280" yres="720" bpp="32" /> <!-- Die Größe bzw. die Auflösung des Skins -->
	</output> <!-- Ende des Output Elements -->


<!-- Im Farben-Element werden mittels dem dem HTML-Farbcode Farben zugewiesen -->
	<colors> <!-- Element Anfang -->
		<color name="black" value="#000000"/> 
		<color name="white" value="#ffffff"/>
		<!-- Durch die zuweisung können wir im Skin Namen für Farbwünsche verwenden 
                     und müssen nicht immer nachschauen welchen Farbcode unsere Wunschfarbe besitzt -->
	</colors> <!-- Element Ende -->


<!-- Fonts, englisch für die Schriftzeichen -->
	<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"/>
<!-- Dies sind die Standardschriftzeichen, wer andere verwenden will muss diese sich erst installieren -->
	</fonts>


	<!-- Main screen colors (id=0 Framebuffer) -->
<!-- Hier werden die Farben der verschiedenen Fenster-Elemete festgelegt weiterhin den verwendeten Schriftsatz und dessen Größe -->
	<windowstyle type="skinned" id="0">
		<title offset="15,9" font="Regular;26" />  <!-- hier wird die Schrift des Fenstertitels positioniert incl. Schriftgröße -->
		<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>

Wer gerne in seinem Skin aber gerahmte Fenster verwenden will wird auch hier in der skin.xml des Default-HD fündig wie dies Aufgebaut ist:

Dies ist auch ein Unter-Element das dann in das Haupt-Element des windowstyle eingefügt werden muss!!

	<!-- screen border png's -->
	<borderset name="bsWindow">
		<pixmap pos="bpTopLeft" filename="Default-HD/b_tl.png" />
		<pixmap pos="bpTop" filename="Default-HD/b_t.png"  />
		<pixmap pos="bpTopRight" filename="Default-HD/b_tr.png" />
		<pixmap pos="bpLeft" filename="Default-HD/b_lr.png"  />
		<pixmap pos="bpRight" filename="Default-HD/b_lr.png"  />
		<pixmap pos="bpBottomLeft" filename="Default-HD/b_bl.png" />
		<pixmap pos="bpBottom" filename="Default-HD/b_b.png"  />
		<pixmap pos="bpBottomRight" filename="Default-HD/b_br.png" />
	</borderset>

Komplett würde dies dann so Aussehen wie man es vom Default-HD Skin her gewohnt ist. Wer hier nun andere Grafiken haben will muss sich diese dann selbst erstellen.

Screens (Fenster)

Fenster bzw. Screen werden etwas später zwar erst behandelt, aber es passt hier halt mal mit rein bei dem Aufbau.

<!-- ein einfacher Screen beginnt mit dem Zeichen "<screen" und endet mit diesem Zeichen "/>" -->
<screen name="SubtitleDisplay" position="0,0" size="1280,720" zPosition="-1" flags="wfNoBorder" backgroundColor="transparent"/>
<!-- ein erweiterter Screen beginnt mit dem Zeichen "<screen" -->
                <screen name="MoviePlayer" position="0,561" size="1280,133" title="InfoBar" backgroundColor="transparent" flags="wfNoBorder"
		<ePixmap pixmap="Default-HD/icons/icon_event.png" position="60,20" size="20,13" alphatest="on" />
		<widget source="session.CurrentService" render="Label" position="100,12" size="850,27" font="Regular;24" valign="top" noWrap="1" backgroundColor="#263c59" transparent="1">
			<convert type="ServiceName">Name</convert>
		</widget>
                </screen> <!-- Endet aber somit! -->
<!-- Denn im erweitertem Fenster können oder müssen ja auch verschiedene Grafiken,Label und Widget integriert werden -->


zum eigenen Skin

Nachdem wir nun die Minimal-Konfiguration kennen, editiere ich mir nun die skin.xml folgendermaßen:

  • einfügen von meiner eigenen Grafik "borderset" also wie die Fenster aussehen sollen
  • Anpassen der Farbpalette an meinen eigenen Wünschen

Das ganze sieht dann so aus:

<skin>
	<!--  Skin:  BlackDreamHD for OE2.0 by EgLe (c)2012     -->
	<!--  This skin skin and all it's graphics are free. Everyone can modify and use it in other images.    -->
	<!-- Spezial Thanks to Kerni and Vali for his great Skins, Renderer,Converter and Wonderfull Idea  -->
	<!--  BUT DO NOT REMOVE OR CHANGE THE SECOND LINE !!!    -->
 
 
	<!-- Head for Image resolution -->
	<output id="0">
	  <resolution xres="1280" yres="720" bpp="32" />
	</output>
 
 
	<!-- Colors (#AARRGGBB) -->
	<colors>
		<color name="white"		value="#ffffff" />
		<color name="black"		value="#000000" />
		<color name="dark" 		value="#25062748" />
		<color name="red" 		value="#f23d21" />
		<color name="green" 		value="#5bac3f" />
		<color name="blue" 		value="#21b0cf" />
		<color name="grey" 		value="#90a0a0" />
		<color name="yellow" 		value="#00e5b243" />
		<color name="lightgrey" 	value="#8c8c93" />
		<color name="darkgrey"		value="#777777" />
		<color name="transparent" 	value="#ffffffff" />
		<color name="transpBlack" 	value="#80000000" />
		<color name="transpWhite" 	value="#80ffffff" />
		<color name="transpyellow"	value="#33bab329" />
		<color name="background"	value="#25272d33" />
		<color name="foreground"	value="#ffffff" />
		<color name="foreyellow"	value="#cc9329" />
	</colors>
 
 
	<!-- Fonts -->
	<fonts>
		<font filename="nmsbd.ttf" name="Regular" scale="95" />
		<font filename="lcd.ttf" name="LCD" scale="100" />
		<font filename="ae_AlMateen.ttf" name="Replacement" scale="95" replacement="1" />
		<font filename="tuxtxt.ttf" name="Console" scale="100" />
	</fonts>
 
 
	<!-- Main screen colors (id=0 Framebuffer) -->
	<windowstyle type="skinned" id="0">
		<title offset="33,14" font="Regular;27" />
		<color name="Background"				color="#272d33" />
		<color name="LabelForeground"			        color="#ffffff" />
		<color name="ListboxBackground" 			color="#272d33" />
		<color name="ListboxForeground" 			color="#ffffff" />
		<color name="ListboxSelectedBackground"                 color="#8c8c93" />
		<color name="ListboxSelectedForeground"                 color="#ffffff" />
		<color name="ListboxMarkedBackground"		        color="#2a2d2f" />
		<color name="ListboxMarkedForeground"                   color="#389416" />
		<color name="ListboxMarkedAndSelectedBackground"	color="#2a2d2f" />
		<color name="ListboxMarkedAndSelectedForeground"	color="#f23d21" />
		<color name="WindowTitleForeground"		        color="#ffffff" />
		<color name="WindowTitleBackground"		        color="#232a33" />
 
		<!-- Main screen border png's -->
		<borderset name="bsWindow">
			<pixmap pos="bpTopLeft" filename="BlackDreamHD/b_tl.png" />
			<pixmap pos="bpTop" filename="BlackDreamHD/b_t.png"  />
			<pixmap pos="bpTopRight" filename="BlackDreamHD/b_tr.png" />
			<pixmap pos="bpLeft" filename="BlackDreamHD/b_l.png"  />
			<pixmap pos="bpRight" filename="BlackDreamHD/b_r.png"  />
			<pixmap pos="bpBottomLeft" filename="BlackDreamHD/b_bl.png" />
			<pixmap pos="bpBottom" filename="BlackDreamHD/b_b.png"  />
			<pixmap pos="bpBottomRight" filename="BlackDreamHD/b_br.png" />
		</borderset>
	</windowstyle>
 
</skin>

Und starte dann dan Enigma2 neu um die Änderungen zu übernehmen:

Minimales Hauptmenü ohne zusätzlichen Grafiken
Infofenster, Grafiken der Buttons. werden vom defautlskin übernommen

sämtliche Menüfenster wie die Einstellungen, Timer und auch der Mediaplayer werden, da nichts gesetzt wurde hier von dem Defaultskin ausgegeben.


Lesbarkeit der skin.xml

Persönlich finde ich das man wie in jeder Sprache (Script, Progammier usw.) eine klare Struktur und Übersicht haben sollte.

Dies macht nicht nur für den Anfänger das ganze etwas Leichter sondern dient auch der Übersicht um eigene Fehler usw. zu finden.

Mit Kommentare sollte man sparsam umgehen, aber auch nicht geizen damit es eben klar und Übersichtlich bleibt.

Da der Grundskin soweit nun läuft ohne Crashs kommen die nächsten Elemete und auch evtl. eigene Grafiken zum Einsatz.

Hierbei folge ich meiner persönlichen Struktur und Reihenfolge die nicht eingehalten werden muss!


Hier kann man aber bei den jeweiligen Skinner und Mods mit ein bisschen Übung aber auch bald eine eigene "Typische Handschrift" erkennen...