comparison DOCS/xml/de/skin.xml @ 18568:80628a6d0980

initial import of some missing German xml translation, review(s) pending Translation was done by Kurt Lettmaier (k . lettmaier @at@ onlinehome.de ), thank you!
author kraymer
date Mon, 05 Jun 2006 05:02:47 +0000
parents
children 62972ec139cd
comparison
equal deleted inserted replaced
18567:0ab40a215eb4 18568:80628a6d0980
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!-- in sync with rev 1.15 $ -->
3 <appendix id="skin">
4 <title><application>MPlayer</application> Skinformat</title>
5
6 <sect1 id="skin-overview">
7 <title>Überblick</title>
8 <para>
9 Es hat nicht wirklich etwas mit dem Skinformat zu tun, aber du solltest
10 wissen, dass <application>MPlayer</application> <emphasis role="bold">keinen</emphasis>
11 eingebauten Skin besitzt, also <emphasis role="bold">muß zumindest ein Skin
12 installiert sein, damit das GUI verwendet werden kann.</emphasis>
13 </para>
14
15 <sect2 id="skin-overview-directories">
16 <title>Verzeichnisse</title>
17 <para>
18 Die nach Skins durchsuchten Verzeichnisse sind (der Reihe nach):
19 <orderedlist>
20 <listitem><para>
21 <filename class="directory">$(DATADIR)/skins/</filename>
22 </para></listitem>
23 <listitem><para>
24 <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
25 </para></listitem>
26 <listitem><para>
27 <filename class="directory">~/.mplayer/skins/</filename>
28 </para></listitem>
29 </orderedlist>
30 </para>
31
32 <para>
33 Beachte, dass der erste Pfad je nach Art der
34 <application>MPlayer</application>-Konfiguration variieren kann
35 (siehe Argumente <option>--prefix</option> und <option>--datadir</option>
36 des <command>configure</command>-Scripts).
37 </para>
38
39 <para>
40 Jeder Skin wird in sein eigenes Verzeichnis unterhalb einem der oben
41 aufgeführten Verzeichnisse installiert, zum Beispiel:
42 <screen>$(PREFIX)/share/mplayer/skins/default/</screen>
43 </para>
44 </sect2>
45
46 <sect2 id="skin-overview-formats">
47 <title>Bildformate</title>
48 <para>
49 Die Bilder müssen Truecolor-PNGs sein (24 oder 32 bpp).
50 </para>
51
52 <para>
53 Im Hauptfenster und in der Abspilleiste (siehe unten) kannst du Bilder
54 mit 'Transparenz' verwenden: Mit der Farbe #FF00FF (Magenta) gefüllte Bereiche
55 sind beim Betrachten mit <application>MPlayer</application> voll transparent.
56 Die bedeutet, dass du sogar Formfenster haben kannst, wenn dein X-Server die
57 XShape-Extension besitzt.
58 </para>
59 </sect2>
60
61 <sect2 id="skin-overview-components">
62 <title>Skin-Komponenten</title>
63 <para>
64 Skins sind ziemlich frei im Format (im Unterschied zu den Skins mit festem
65 Format von <application>Winamp</application>/<application>XMMS</application>
66 zum Beispiel), somit liegt es an dir, einen tollen zu kreieren.
67 </para>
68
69 <para>
70 Zur Zeit sind vier Fenster zu dekorieren: das
71 <link linkend="skin-file-main">Hauptfenster</link>, das
72 <link linkend="skin-file-subwindow">Unterfenster</link>, die
73 <link linkend="skin-file-main">Abspielleise</link> und das
74 <link linkend="skin-file-menu">Skin-Menü</link> (das durch einen
75 Rechtsklick aktiviert werden kann).
76
77 <itemizedlist>
78 <listitem><para>
79 Das <emphasis role="bold">Hauptfenster</emphasis> und/oder die
80 <emphasis role="bold">Abspielleise</emphasis> befindet sich dort, wo du
81 <application>MPlayer</application> kontrollieren kannst. Der Hintergrund
82 des Fensters ist ein Grafik.
83 Ins Fenster können (und müssen) diverse Elemente platziert werden:
84 <emphasis>Buttons</emphasis>, <emphasis>Potentiometer</emphasis> (Schieberegler)
85 und <emphasis>Labels</emphasis>.
86 Für jedes Element, musst du dessen Position und Größe.
87 </para><para>
88 Ein <emphasis role="bold">Button</emphasis> besitzt drei Zustände (gedrückt,
89 losgelassen, deaktiviert), deshalb muss seine Grafik vertikal in drei Teile
90 getrennt werden. Siehe Eintrag <link linkend="skin-button">Button</link>
91 mit mehr Details.
92 </para><para>
93 Ein <emphasis role="bold">Potentiometer</emphasis> (hauptsächlich für
94 die Suchleiste und die Lautstärke-/Balance-Regler) kann eine beliebige
95 Anzahl von Phasen by dividing its Grafik
96 into different parts below each other. See
97 <link linkend="skin-hpotmeter">hpotmeter</link> and
98 <link linkend="skin-potmeter">Potentiometer</link> for details.
99 </para><para>
100 <emphasis role="bold">Labels</emphasis> sind ein wenig speziell: Die Zeichen,
101 die manzu ihrer Darzustellung benötigt, werden von einer Grafikdatei, und
102 die Zeichen in der Grafik werden durch eine
103 <link linkend="skin-fonts">Schrift-Beschreibungsdatei</link> festgelegt.
104 Letztere ist eine Volltextdatei, welche die x-,y-Position und Größe jedes
105 Zeichens in der Grafik beschreibt (die Grafikdatei und ihre
106 Schrift-Beschreibungsdatei bilden <emphasis>zusammen</emphasis> eine Schrift).
107 Siehe
108 <link linkend="skin-dlabel">dlabel</link>
109 und
110 <link linkend="skin-slabel">slabel</link> fpr Details.
111 </para>
112 <note>
113 <para>
114 Alle Grafiken können wie im Abschnitt über die
115 <link linkend="skin-overview-formats">Grafikformate</link> erklärt
116 volle Transparenz besitzen. Wenn der X-Server keine XShape-Extension
117 unterstützt, werden die als transparent markierten Teile schwarz.
118 Wenn du dieses Feature gerne nutzen möchtest, muss die Breite der
119 Hintergrundgrafik des Hauptfensters durch 8 teilbar sein.
120 </para>
121 </note>
122 </listitem>
123
124 <listitem><para>
125 Das <emphasis role="bold">Unterfenster</emphasis> ist dort wo der Film
126 erscheint. Es kann eine festgelegte Grafik anzeigen, wenn kein Film geladen
127 iat (es ist ziemlich langweilig, ein leeres Fenster vor sich zu haben :-))
128 <emphasis role="bold">Beachte:</emphasis> Transparenz ist hier
129 <emphasis role="bold">nicht erlaubt</emphasis>.
130 </para></listitem>
131
132 <listitem><para>
133 Das <emphasis role="bold">Skin-Menü</emphasis> ist ganz einfach ein
134 Weg, <application>MPlayer</application> mittels der Menüeinträge zu
135 kontrollieren. Zwei Grafiken sind für das Menü erforderlich:
136 eine davon ist die Basisgrafik, die den Normalzustand des Menüs darstellt,
137 die andere wird zur Anzeige des gewählten Einträge verwendet.
138 Wenn due das Menü aufklappst, wird die erste Grafik angezeigt. Bewegst du
139 die Maus über die Menüeinträge, wird der aktuell gewählte Eintrag aus der
140 zweiten Grafik über den Menüeintrag unterhalb des Mauszeigers kopiert
141 (die zweite Grafik wird nie als Ganzes angezeigt).
142 </para><para>
143 Rin Menüeintrag wird definiert durch seine Position und Größe innerhalb
144 der Grafik (sieh nach mehr Details im Abschnitt über das
145 <link linkend="skin-file-menu">Skin-Menü</link>).
146 </para></listitem>
147 </itemizedlist>
148 </para>
149
150 <para>
151 Eine wichtige Sache wurde noch nicht aufgeführt: Damit Buttons, Potentiometer und
152 Menüeinträge funktionieren, muss <application>MPlayer</application> wissen, was
153 er machen soll, wenn sie angeklickt werden.
154 Dies geschieht mittels <link linkend="skin-gui">Meldungen</link> (Ereignisse).
155 Für diese Elemente musst du die beim Klick auf sie zu generierenden Meldungen
156 definieren.
157 </para>
158 </sect2>
159
160 <sect2 id="skin-files">
161 <title>Dateien</title>
162 <para>
163 Du benötigst folgende Dateien, um einen Skin zu bauen:
164 <itemizedlist>
165 <listitem><para>
166 Die Konfigurationsdatei genannt <link linkend="skin-file">skin</link> erzählt
167 <application>MPlayer</application>, wie er unterschiedliche Teile des Skins
168 zusammengefügt werden und was er tun soll, wenn du irgendwo innerhalb des Fenster
169 hinklickst.
170 </para></listitem>
171 <listitem><para>
172 Die Hintergrundgrafik fürs Hauptfenster.
173 </para></listitem>
174 <listitem><para>
175 Grafiken für die Elemente im Hauptfenster (einschließlich einer oder mehrerer
176 Schrift-Beschreibungsdateien zum zeichnen der Labels).
177 </para></listitem>
178 <listitem><para>
179 Die Grafik, die im Unterfenster angezeigt werden soll (optional).
180 </para></listitem>
181 <listitem><para>
182 Zwei Grafiken für das Skin-Menü (sie werden nur gebraucht, wenn du want
183 ein Menü erzeugst).
184 </para></listitem>
185 </itemizedlist>
186 Mit Ausnahme der skin-Konfigurationsdatei, kannst du die anderen Dateien
187 benenne, wie es dir beliebt (beachte aber, dass Schrift-Beschreibungsdateien
188 eine <filename>.fnt</filename>-Erweiterung besitzen müssen).
189 </para>
190 </sect2>
191 </sect1>
192
193 <sect1 id="skin-file">
194 <title>Die skin-Datei</title>
195 <para>
196 Wie oben erwähnt, ist dies die skin-Konfigurationsdatei. Sie ist
197 Zeilen-orientiert;
198 Kommentarzeilen beginnen mit einem '<literal>;</literal>' Semikolon-Zeichen
199 am Zeilenanfang (es sind nur Leer- und Tabulator-Zeichen vor dem
200 '<literal>;</literal>' erlaubt).
201 </para>
202
203 <para>
204 Die Datei ist in Abschnitte unterteilt. Jeder Abschnitt beschreibt den Skin
205 für eine Anwendung und besitzt folgende Form:
206 <programlisting>
207 section = <replaceable>abschnittsname</replaceable>
208 .
209 .
210 .
211 end
212 </programlisting>
213 </para>
214
215 <para>
216 Zur Zeit gibt es nur eine Anwendung, somit brauchst du nur einen Abschnitt:
217 sein Name ist <emphasis role="bold">movieplayer</emphasis>.
218 </para>
219
220 <para>
221 Innerhalb dieses Abschnitts wird jedes Fenster durch einen Block folgender
222 Form beschrieben:
223 <programlisting>
224 window = <replaceable>fenstername</replaceable>
225 .
226 .
227 .
228 end
229 </programlisting>
230 </para>
231
232 <para>
233 wobei <replaceable>fenstername</replaceable> einer dieser Strings sein
234 kann:
235 <itemizedlist>
236 <listitem><para><emphasis role="bold">main</emphasis> - für das Hauptfenster</para></listitem>
237 <listitem><para><emphasis role="bold">sub</emphasis> - für das Unterfenster</para></listitem>
238 <listitem><para><emphasis role="bold">menu</emphasis> - für das Skin-Menü</para></listitem>
239 <listitem><para><emphasis role="bold">playbar</emphasis> - Abspielleise</para></listitem>
240 </itemizedlist>
241 </para>
242
243 <para>
244 (Die sub- und menu-Blöcke sind optional - du musst kein Menü erzeugen oder
245 das Unterfenster dekorieren.)
246 </para>
247
248 <para>
249 Innerhalb des Fensterblocks kannst du jedes Element für das Fenster durch eine
250 Zeile in dieser Form definieren:
251 <programlisting>item = parameter</programlisting>
252 Wobei <literal>item</literal> ein String ist, der den Typ des GUI-elements
253 identifiziert, <literal>parameter</literal> ist ein numerischer oder textueller
254 Wert (oder eine Liste Komma-getrennter Werte).
255 </para>
256
257 <para>
258 Fügt man nun das oben genannte zusammen, sieht die komplette Datei etwa so aus:
259 <programlisting>
260 section = movieplayer
261 window = main
262 ; ... Elemente fürs Hauptfenster ...
263 end
264
265 window = sub
266 ; ... Elemente fürs Unterfenster ...
267 end
268
269 window = menu
270 ; ... Elemente fürs Menü ...
271 end
272
273 window = playbar
274 ; ... Elemente für die Abspielleise ...
275 end
276 end
277 </programlisting>
278 </para>
279
280 <para>
281 Der Name einer Grafikdatei muss ohne führende Pfadangaben angegeben werden -
282 Grafiken werden im Verzeichnis <filename class="directory">skins</filename>
283 gesucht.
284 Du kannst (musst aber nicht) die Erweiterungder Datei spezifizieren.
285 Existiert die Datei nicht, versucht <application>MPlayer</application> die
286 <filename>&lt;dateiname&gt;.&lt;ext&gt;</filename> zu laden, wobwei
287 <literal>png</literal> und <literal>PNG</literal> als
288 <filename>&lt;ext&gt;</filename> (Erweiterung) versucht werden
289 (in dieser Reihenfolge). Die erste zutreffende Datei wird verwendet.
290 </para>
291
292 <para>
293 Zum Schluss einige Worte zur Positionierung.
294 Hauptfenster und Unterfenster können in verschiedenen Ecken des Bilschirms
295 über die <literal>X</literal>- und <literal>Y</literal>-Koordinaten
296 platziert werden. <literal>0</literal> ist oben oder links,
297 <literal>-1</literal> bedeutet zentriert und <literal>-2</literal> ist
298 rechts oder unten, wie in dieser Illustration gezeigt:
299 </para>
300 <informalfigure>
301 <screen>
302 (0, 0)----(-1, 0)----(-2, 0)
303 | | |
304 | | |
305 (0,-1)----(-1,-1)----(-2,-1)
306 | | |
307 | | |
308 (0,-2)----(-1,-2)----(-2,-2)
309 </screen>
310 </informalfigure>
311
312 <para>
313 Hier ein Beispiel, um es zu verdeutlichen. Angenommen du hast eine Grafik
314 mit Namen <filename>main.png</filename>, die für das Hauptfenster nutzt:
315 <programlisting>base = main, -1, -1</programlisting>
316 <application>MPlayer</application> versucht, die Dateien
317 <filename>main</filename>,
318 <filename>main.png</filename>,
319 <filename>main.PNG</filename>
320 zu laden.
321 </para>
322
323
324 <sect2 id="skin-file-main">
325 <title>Hauptfenster und Abspielleise</title>
326 <para>
327 Unten steht eine Liste von Einträgen, die in den Blöcken
328 '<literal>window = main</literal>' ... '<literal>end</literal>',
329 und the '<literal>window = playbar</literal>' ... '<literal>end</literal>'
330 genutzt werden können.
331 </para>
332
333 <variablelist>
334 <varlistentry>
335 <term><literal>
336 <anchor id="skin-main-base"/>base = image, X, Y
337 </literal></term>
338 <listitem><para>
339 Lässt dich die Hintergrundgrafik fürs Hauptfenster spezifizieren.
340 Das Fenster wird an der angegebenen Position <literal>X,Y</literal> auf
341 dem Bildschirm erscheinen. Es wird die Größe der Grafik besitzen.
342 </para>
343 <note>
344 <para>
345 Diese Koordinaten funktionieren im Moment nicht beim Anzeigefenster.
346 </para>
347 </note>
348 <warning>
349 <para>
350 Transparente Bereiche innerhalb der Grafik (mit der Farbe #FF00FF) erscheinen
351 auf X-Servern ohne die XShape-Extension schwarz. Die Breite der Grafik muss
352 durch 8 teilbar sein.
353 </para>
354 </warning>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry>
359 <term><literal>
360 <anchor id="skin-button"/>button = image, X, Y, width, height, message
361 </literal></term>
362 <listitem><para>
363 Platziere einen Button mit der Größe <literal>width</literal> * <literal>height</literal>
364 an Position <literal>X,Y</literal>. Die angegebene <literal>message</literal> wird
365 erzeugt, wenn der Button angeklickt wird. Die mittels <literal>image</literal>
366 festgelegte Grafik muss drei untereinander liegende Teile aufweisen (entsprechend
367 der möglichen Zustände des Buttons), etwa so:
368 </para>
369 <informalfigure>
370 <screen>
371 +---------------+
372 | gedrückt |
373 +---------------+
374 | losgelassen |
375 +---------------+
376 | deaktiviert |
377 +---------------+
378 </screen>
379 </informalfigure>
380 </listitem>
381 </varlistentry>
382
383 <varlistentry>
384 <term><literal>
385 <anchor id="skin-decoration"/>decoration = enable|disable
386 </literal></term>
387 <listitem><para>
388 Aktiviere oder deaktiviere die Fenstermanager-Dekoration des Hauptfensters.
389 Standard ist <emphasis role="bold">disable</emphasis>.
390 </para>
391 <note>
392 <para>
393 Dies funktioniert nicht beim Anzeigefenster, dort braucht man es nicht.
394 </para>
395 </note>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry>
400 <term><literal>
401 <anchor id="skin-hpotmeter"/>hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
402 </literal></term>
403 <listitem><para>
404
405 </para></listitem>
406 </varlistentry>
407
408 <varlistentry>
409 <term><literal>
410 <anchor id="skin-vpotmeter"/>vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
411 </literal></term>
412 <listitem>
413 <para>
414 Platziere einen horizontal (hpotmeter) oder vertikal (vpotmeter) Potentiometer mit
415 der Größe <literal>width</literal> * <literal>height</literal> an Position
416 <literal>X,Y</literal>. Die Grafik kann in unterschiedliche Teile für die
417 verschiedenen Phasen des Potentiometers aufgeteilt werden (du kannst zum Beispiel
418 eines für die Lautstärkeregelung haben, das von rot nach grün wechselt während
419 sein Wert sich vom Minimum zum Mmaximum ändert.).
420 <literal>hpotmeter</literal> kann einen Button besitzen, der horizontal gezogen
421 werden kann. Die Parameter sind:
422 </para>
423 <itemizedlist>
424 <listitem><para><literal>button</literal> - die für den Button zu verwendende
425 Grafik (muss drei untereinander liegende Teile aufweisen, wie im Fall des
426 <link linkend="skin-button">Buttons</link>)
427 </para></listitem>
428 <listitem><para><literal>bwidth</literal>, <literal>bheight</literal> - Größe
429 de Buttons
430 </para></listitem>
431 <listitem><para><literal>phases</literal> - die für die verschiedenen Phasen
432 zu verwendende Grafik des hpotmeter. Ein spezieller Wert von <literal>NULL</literal>
433 kann benutzt werden, wenn du keine solche Grafik anwenden willst. Die Grafik muss
434 in vertikal <literal>numphases</literal> Teile wie folgt aufgeteilt werden:
435 </para>
436 <informalfigure>
437 <screen>
438 +------------+
439 | phase #1 |
440 +------------+
441 | phase #2 |
442 +------------+
443 ...
444 +------------+
445 | phase #n |
446 +------------+
447 </screen>
448 </informalfigure>
449 </listitem>
450 <listitem><para><literal>numphases</literal> - Anzahl der Phasen, die in der
451 <literal>phases</literal>-Grafik untergebracht sind
452 </para></listitem>
453 <listitem><para><literal>default</literal> - Standard Wert fürs hpotmeter
454 (im Bereich <literal>0</literal> bis <literal>100</literal>)
455 </para></listitem>
456 <listitem><para><literal>X</literal>, <literal>Y</literal> - Position fürs hpotmeter
457 </para></listitem>
458 <listitem><para><literal>width</literal>, <literal>height</literal> - Breite und Höhe
459 des <literal>hpotmeter</literal>
460 </para></listitem>
461 <listitem><para><literal>message</literal> - die Meldung, die erzeugt werden soll,
462 wenn der Wert des <literal>hpotmeter</literal> geändert wird
463 </para></listitem>
464 </itemizedlist>
465
466 </listitem>
467 </varlistentry>
468
469 <varlistentry>
470 <term><literal>
471 <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, width, height, message
472 </literal></term>
473 <listitem><para>
474 Ein <literal>hpotmeter</literal> ohne einen Button. (ich schätze, es ist dazu
475 bestimmt, herumgedreht zu werden, reagiert aber nur auf horizontales Ziehen.)
476 Eine Beschreibung der Parameter findest du unter
477 <link linkend="skin-hpotmeter">hpotmeter</link>.
478 <literal>phases</literal> können <literal>NULL</literal> sein, dies ist aber ziemlich
479 sinnlos, da du nicht sehen kannst, wo das <literal>Potentiometer</literal> hingesetzt
480 wurde.
481 </para></listitem>
482 </varlistentry>
483
484 <varlistentry>
485 <term><literal>
486 <anchor id="skin-font"/>font = fontfile, fontid
487 </literal></term>
488 <listitem><para>
489 Definiert eine Schrift. <literal>fontfile</literal> ist der Name der
490 Schrift-Beschreibungsdatei mit der Erweiterung <filename>.fnt</filename>
491 (geib hier keine Erweiterung an).
492 <literal>fontid</literal> wird verwendet, um auf die Schrift zu verweisen
493 (siehe <link linkend="skin-dlabel">dlabel</link>
494 und <link linkend="skin-slabel">slabel</link>). Bis zu 25 Schrift können
495 definiert werden.
496 </para></listitem>
497 </varlistentry>
498
499 <varlistentry>
500 <term><literal>
501 <anchor id="skin-slabel"/>slabel = X, Y, fontid, &quot;text&quot;
502 </literal></term>
503 <listitem><para>
504 Platziere ein statisches Label an Position <literal>X,Y</literal>.
505 <literal>text</literal> wird mittels der identifizierten
506 <literal>fontid</literal> angezeigt. Der Text ist einfach ein
507 eine Ausgangszeichenkette (<literal>$x</literal>-Variablen funktionieren nicht),
508 eingeschlossen von doppelten Anführungszeichen (das &quot;-Zeichen kann jedoch
509 nicht Teil des Textes sein).
510 Das Label wird mittels der über die <literal>fontid</literal> identifizierten
511 Schrift angezeigt.
512 </para></listitem>
513 </varlistentry>
514
515 <varlistentry>
516 <term><literal>
517 <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, &quot;text&quot;
518 </literal></term>
519 <listitem>
520 <para>
521 Platziere ein dynamisches Label an Position <literal>X,Y</literal>.
522 Das Label wird als dynamisch bezeichnet, weil sein Text periodisch
523 aktualisiert wird. Die Maximallänge des Labels wird mit dem
524 Wert <literal>length</literal> vorgegeben (seine Höhe ist die der
525 Zeichen).
526 Wird der anzuzeigende Text breiter als dieser Wert, wird er gescrollt,
527 andernfalls wird er innerhalb des mittels des Wertes des
528 <literal>align</literal>-Parameters festgelegten Zwischenraums ausgerichtet:
529 <literal>0</literal> steht für rechts,
530 <literal>1</literal> steht für zentriert,
531 <literal>2</literal> steht für links.
532 </para>
533 <para>
534 Der anzuzeigende Text wird mit <literal>text</literal> festgelegt:
535 Er muss zwischen doppelten Anführungszeichen stehen (das &quot;-Zeichen kann jedoch
536 nicht Teil des Textes sein).
537 Das Label wird mittels der über die <literal>fontid</literal> identifizierten
538 Schrift angezeigt.
539 Kannst folgende Variablen im Text verwenden:
540 </para>
541
542 <informaltable>
543 <tgroup cols="2">
544 <thead>
545 <row><entry>Variable</entry><entry>Bedeutung</entry></row>
546 </thead>
547 <tbody>
548 <row>
549 <entry>$1</entry>
550 <entry>Abspieldauer im <emphasis>hh:mm:ss</emphasis>-Format</entry>
551 </row>
552 <row>
553 <entry>$2</entry>
554 <entry>Abspieldauer im <emphasis>mmmm:ss</emphasis>-Format</entry>
555 </row>
556 <row>
557 <entry>$3</entry>
558 <entry>Abspieldauer im <emphasis>hh</emphasis>-Format (Stunden)</entry>
559 </row>
560 <row>
561 <entry>$4</entry>
562 <entry>Abspieldauer im <emphasis>mm</emphasis>-Format (Minuten)</entry>
563 </row>
564 <row>
565 <entry>$5</entry>
566 <entry>Abspieldauer im <emphasis>ss</emphasis>-Format (Sekunden)</entry>
567 </row>
568 <row>
569 <entry>$6</entry>
570 <entry>Filmlänge im <emphasis>hh:mm:ss</emphasis>-Format</entry>
571 </row>
572 <row>
573 <entry>$7</entry>
574 <entry>Filmlänge im <emphasis>mmmm:ss</emphasis>-Format</entry>
575 </row>
576 <row>
577 <entry>$8</entry>
578 <entry>Abspieldauer im <emphasis>h:mm:ss</emphasis>-Format</entry>
579 </row>
580 <row>
581 <entry>$v</entry>
582 <entry>Lautstärke im <emphasis>xxx.xx</emphasis>%-Format</entry>
583 </row>
584 <row>
585 <entry>$V</entry>
586 <entry>Lautstärke im <emphasis>xxx.xx</emphasis>-Format</entry>
587 </row>
588 <row>
589 <entry>$b</entry>
590 <entry>Balance im <emphasis>xxx.xx</emphasis>%-Format</entry>
591 </row>
592 <row>
593 <entry>$B</entry>
594 <entry>Balance in <emphasis>xxx.xx</emphasis>-Format</entry>
595 </row>
596 <row>
597 <entry>$$</entry>
598 <entry>das $-Zeichen</entry>
599 </row>
600 <row>
601 <entry>$a</entry>
602 <entry>ein dem Audio-Typ entsprechendes Zeichen (Nichts: <literal>n</literal>,
603 Mono: <literal>m</literal>, Stereo: <literal>t</literal>)</entry>
604 </row>
605 <row>
606 <entry>$t</entry>
607 <entry>Track-Nummer (in der Playliste)</entry>
608 </row>
609 <row>
610 <entry>$o</entry>
611 <entry>Dateiname</entry>
612 </row>
613 <row>
614 <entry>$f</entry>
615 <entry>Dateiname in kleinbuchstaben</entry>
616 </row>
617 <row>
618 <entry>$F</entry>
619 <entry>Dateiname in GROSSBUCHSTABEN</entry>
620 </row>
621 <row>
622 <entry>$T</entry>
623 <entry>Ein dem Stream-Typen entsprechendes Zeichen (Datei: <literal>f</literal>,
624 Video-CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
625 </row>
626 <row>
627 <entry>$p</entry>
628 <entry>Das <keycap>p</keycap>-Zeichen (wenn ein Film abgespielt wird und die Schrift
629 das Zeichen <keycap>p</keycap> enthält)</entry>
630 </row>
631 <row>
632 <entry>$s</entry>
633 <entry>Das <keycap>s</keycap>-Zeichen (wenn ein Film angehallten wird und die Schrift
634 das Zeichen <keycap>s</keycap> enthält)</entry>
635 </row>
636 <row>
637 <entry>$e</entry>
638 <entry>Das <keycap>e</keycap>-Zeichen (wenn ein Film pausiert wird und die Schrift
639 das Zeichen <keycap>e</keycap> enthält)</entry>
640 </row>
641 <row>
642 <entry>$x</entry>
643 <entry>Filmbreite</entry>
644 </row>
645 <row>
646 <entry>$y</entry>
647 <entry>Filmhöhe</entry>
648 </row>
649 <row>
650 <entry>$C</entry>
651 <entry>Name des verwendeten Codecs</entry>
652 </row>
653
654 </tbody>
655 </tgroup>
656 </informaltable>
657 </listitem>
658
659 </varlistentry>
660 </variablelist>
661
662 <note><para>
663 Die Variablen <literal>$a, $T, $p, $s</literal> und <literal>$e</literal>
664 geben alle Zeichen zurück, die als spezielle Symbole angezeigt werden sollen
665 (zum Beispiel steht <keycap>e</keycap> für das Pause-Symbol, welches gewöhnlich
666 etwa so || aussieht).
667 Du solltest eine Schrift für normale Zeichen und eine weitere Schrift für
668 Symbole haben. Schau in den Abschnitt über
669 <link linkend="skin-fonts-symbols">Symbole</link>
670 für mehr Informationen.
671 </para></note>
672 </sect2>
673
674 <sect2 id="skin-file-subwindow">
675 <title>Unterfenster</title>
676 <para>
677 Die folgenden Einträge können in diesem Block verwendet werden
678 '<literal>window = sub</literal>' . . . '<literal>end</literal>'.
679 </para>
680
681 <variablelist>
682 <varlistentry>
683 <term><literal>
684 <anchor id="skin-sub-base"/>base = image, X, Y, breite, hoehe
685 </literal></term>
686 <listitem><para>
687 Die im Fenster anzuzeigende Grafik. Das Fenster wird an der angegebenen
688 Position <literal>X,Y</literal> auf dem Bildschirm erscheinen
689 (<literal>0,0</literal> ist die obere linke Ecke).
690 Du kannst <literal>-1</literal> für zentriert und <literal>-2</literal>
691 für rechts (<literal>X</literal>) und unten (<literal>Y</literal>) festlegen.
692 Das Fenster wird so groß sein wie die Grafik.
693 <literal>width</literal> und <literal>height</literal>
694 kennzeichnen die Größe des Fensters; sie sind optional (wenn sie fehlen, hat
695 das Fenster die selbe Größe wie die Grafik).
696 </para></listitem>
697 </varlistentry>
698
699 <varlistentry>
700 <term><literal>
701 <anchor id="skin-background"/>background = R, G, B
702 </literal></term>
703 <listitem><para>
704 Lässt dich die Hintergrundfarbe setzen. Dies ist von Nutzen, wenn die Grafik
705 kleiner ist als das Fenster.
706 <literal>R</literal>, <literal>G</literal> und <literal>B</literal>
707 spezifizieren die Rot-, Grün- und Blau-Komponenten der Farbe (jede davon ist
708 eine Dzimalzahl von 0 bis 255).
709 </para></listitem>
710 </varlistentry>
711 </variablelist>
712 </sect2>
713
714 <sect2 id="skin-file-menu">
715 <title>Skin-Menü</title>
716 <para>
717 Wie bereits zuvor erwähnt, wird das Menü mittels zweier Grafiken dargestellt.
718 Normale Menüeinträge werden aus der Grafik entnommen, die durch das Element
719 <literal>base</literal> festgelegt sind, während der aktuell gewählte Eintrag
720 aus der Grafik entnommen wird, die durch das Element <literal>selected</literal>
721 spezifiziert wurde. Du musst Position und Größe jedes Menüeintrags mittels des
722 Elements <literal>menu</literal> definieren.
723 </para>
724
725 <para>
726 Die folgenden Einträge können im Block
727 '<literal>window = menu</literal>'. . .'<literal>end</literal>' genutzt werden.
728 </para>
729
730 <variablelist>
731 <varlistentry>
732 <term><literal>
733 <anchor id="skin-menu-base"/>base = image
734 </literal></term>
735 <listitem><para>
736 Die Grafik für normale Menüeinträge.
737 </para></listitem>
738 </varlistentry>
739
740 <varlistentry>
741 <term><literal>
742 <anchor id="skin-selected"/>selected = image
743 </literal></term>
744 <listitem><para>
745 Die Grafik, die das Menü mit allen gewählten Einträgen anzeigt.
746 </para></listitem>
747 </varlistentry>
748
749 <varlistentry>
750 <term><literal>
751 <anchor id="skin-menu"/>menu = X, Y, width, height, message
752 </literal></term>
753 <listitem><para>
754 Definiert die Position <literal>X,Y</literal> und die Größe eines Menüeintrags
755 innerhalb der Grafik. <literal>message</literal> ist die Meldung, die erzeugt
756 werden soll, wenn die Maustaste über dem Eintrag losgelassen wird.
757 </para></listitem>
758 </varlistentry>
759 </variablelist>
760 </sect2>
761 </sect1>
762
763 <sect1 id="skin-fonts">
764 <title>Schriften</title>
765 <para>
766 Wie im Abschnitt über die Skin-Teile beschrieben, wird eine Schrift durch eine
767 Grafik und eine Beschreibungsdatei definiert. Du kannst die Zeichen irgendwo
768 innerhalb der Grafik platzieren, aber stell sicher, dass Position und Größe
769 der Zeichen in der Beschreibungsdatei exakt angegeben sind.
770 </para>
771
772 <para>
773 Die Schrift-Beschreibungsdatei (mit Erweiterung <filename>.fnt</filename>)
774 kann mit '<literal>;</literal>' beginnende Kommentarzeilen enthalten.
775 Die Datei muss eine Zeile in der Form enthalten
776 <anchor id="skin-font-image"/>
777 <programlisting>image = <replaceable>image</replaceable></programlisting>
778 Wobei <literal><replaceable>image</replaceable></literal> der Name der für
779 die Schrift anzuwendenden Grafikdatei ist (du musst keine Erweiterung angeben).
780 <anchor id="skin-font-char"/>
781 <programlisting>&quot;char&quot; = X, Y, width, hight</programlisting>
782 Hier legen <literal>X</literal> und <literal>Y</literal> die Position des
783 <literal>char</literal>-Zeichens innerhalb der Grafik fest
784 (<literal>0,0</literal> steht für die obere linke Ecke).
785 <literal>width</literal> und <literal>height</literal> sind die Maße der
786 Zeichen in Pixel.
787 </para>
788
789 <para>
790 Dieses Beispiel definiert die Zeichen A, B, C unter Anwendung von
791 <filename>font.png</filename>.
792 <programlisting>
793 ; Kann eine &quot;Schrift&quot; anstatt &quot;font.png&quot; sein.
794 image = font.png
795
796 ; Drei Zeichen reichen zu Demonstrationszwecken :-)
797 &quot;A&quot; = 0,0, 7,13
798 &quot;B&quot; = 7,0, 7,13
799 &quot;C&quot; = 14,0, 7,13
800 </programlisting>
801 </para>
802
803 <sect2 id="skin-fonts-symbols">
804 <title>Symbole</title>
805 <para>
806 Einige Zeichen haben spezielle Bedeutungen, wenn sie von bestimmten
807 Variablen in <link linkend="skin-dlabel">dlabel</link> zurückgegeben
808 werden. Diese Zeichen sind dazu gedacht, als Symbole angezeigt zu werden,
809 sodass Sachen wie ein hübsches DVD-Logo an Stelle des Zeichens
810 '<literal>d</literal>' für einen DVD-Stream angezeigt werden können.
811 </para>
812 <para>
813 Die folgende Tabelle listet alle Zeichen auf, die zum Anzeigen von
814 Symbolen genutzt werden können (und daher eine andere Schrift benötigen).
815 </para>
816
817 <informaltable>
818 <tgroup cols="2">
819 <thead>
820 <row><entry>Zeichen</entry><entry>Symbol</entry></row>
821 </thead>
822 <tbody>
823 <row><entry><keycap>p</keycap></entry><entry>Play</entry></row>
824 <row><entry><keycap>s</keycap></entry><entry>Stop</entry></row>
825 <row><entry><keycap>e</keycap></entry><entry>Pause</entry></row>
826 <row><entry><keycap>n</keycap></entry><entry>Kein Sound</entry></row>
827 <row><entry><keycap>m</keycap></entry><entry>Mono-Sound</entry></row>
828 <row><entry><keycap>t</keycap></entry><entry>Stereo-Sound</entry></row>
829 <row><entry><keycap>f</keycap></entry><entry>Stream ist eine Datei</entry></row>
830 <row><entry><keycap>v</keycap></entry><entry>Stream ist eine Video-CD</entry></row>
831 <row><entry><keycap>d</keycap></entry><entry>Stream ist eine DVD</entry></row>
832 <row><entry><keycap>u</keycap></entry><entry>Stream ist eine URL</entry></row>
833 </tbody>
834 </tgroup>
835 </informaltable>
836 </sect2>
837 </sect1>
838
839 <sect1 id="skin-gui">
840 <title>GUI-Meldungen</title>
841 <para>
842 Dies sind die Meldungen, die von Buttons, Potentiometern und
843 Menüeinträgen generiert werden können.
844 </para>
845 <note>
846 <para>
847 Einige der Meldungen funktionieren vielleicht nicht wie erwartet
848 (oder vielleicht auch gar nicht).
849 Wie du weißt, befindet sich das GUI in der Entwicklung.
850 </para>
851 </note>
852
853 <variablelist>
854 <title>Playback-Kontrolle:</title>
855 <varlistentry>
856 <term><emphasis role="bold">evNext</emphasis></term>
857 <listitem><para>
858 Springe zum nächsten Track in der Playliste.
859 </para></listitem>
860 </varlistentry>
861
862 <varlistentry>
863 <term><emphasis role="bold">evPause</emphasis></term>
864 <listitem><para>
865 Formt einen Schalter zusammen mit <literal>evPlaySwitchToPause</literal>.
866 Sie können dazu benutzt werden, einen gebräuchlichen Play/Pause-Button
867 zu bekommen. Beide Meldungen sollten den Buttons zugewiesen werden, die
868 an genau der selben Position inerhalb des Fensters dargestellt werden.
869 Diese Meldung pausiert das Abspielen und die Grafik für den
870 <literal>evPlaySwitchToPause</literal>-Button wird gezeigt
871 (um anzudeuten, dass der Button zum Fortsetzen des Abspielens gedrückt
872 werden kann).
873 </para></listitem>
874 </varlistentry>
875
876 <varlistentry>
877 <term><emphasis role="bold">evPlay</emphasis></term>
878 <listitem><para>
879 Starte das Abspielen.
880 </para></listitem>
881 </varlistentry>
882
883 <varlistentry>
884 <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
885 <listitem><para>
886 Das Gegenteil von <literal>evPauseSwitchToPlay</literal>. Diese Meldung
887 startet das Abspielen und die Grafik für den
888 <literal>evPauseSwitchToPlay</literal>-Button wird angezeigt
889 (um anzudeuten, dass der Button zum Pausieren des Abspielvorgangs gedrückt
890 werden kann).
891 </para></listitem>
892 </varlistentry>
893
894 <varlistentry>
895 <term><emphasis role="bold">evPrev</emphasis></term>
896 <listitem><para>
897 Springe zum vorherigen Track in der Playliste.
898 </para></listitem>
899 </varlistentry>
900
901 <varlistentry>
902 <term><emphasis role="bold">evStop</emphasis></term>
903 <listitem><para>
904 Stoppe das Abspielen.
905 </para></listitem>
906 </varlistentry>
907 </variablelist>
908
909 <variablelist>
910 <title>Springen:</title>
911 <varlistentry>
912 <term><emphasis role="bold">evBackward10sec</emphasis></term>
913 <listitem><para>
914 Springe 10 Sekunden rückwärts.
915 </para></listitem>
916 </varlistentry>
917
918 <varlistentry>
919 <term><emphasis role="bold">evBackward1min</emphasis></term>
920 <listitem><para>
921 Springe 1 Minute rückwärts.
922 </para></listitem>
923 </varlistentry>
924
925 <varlistentry>
926 <term><emphasis role="bold">evBackward10min</emphasis></term>
927 <listitem><para>
928 Springe 10 Minuten rückwärts.
929 </para></listitem>
930 </varlistentry>
931
932 <varlistentry>
933 <term><emphasis role="bold">evForward10sec</emphasis></term>
934 <listitem><para>
935 Springe 10 Sekunden vorwärts.
936 </para></listitem>
937 </varlistentry>
938
939 <varlistentry>
940 <term><emphasis role="bold">evForward1min</emphasis></term>
941 <listitem><para>
942 Springe 1 Minute vorwärts.
943 </para></listitem>
944 </varlistentry>
945
946 <varlistentry>
947 <term><emphasis role="bold">evForward10min</emphasis></term>
948 <listitem><para>
949 Springe 10 Minuten vorwärts.
950 </para></listitem>
951 </varlistentry>
952
953 <varlistentry>
954 <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
955 <listitem><para>
956 Springe zu Position (kann von einem Potentiometer genutzt werden;
957 mit dem relativen Wert (0-100%) des Potentiometers).
958 </para></listitem>
959 </varlistentry>
960 </variablelist>
961
962 <variablelist>
963 <title>Video-Kontrolle:</title>
964 <varlistentry>
965 <term><emphasis role="bold">evHalfSize</emphasis></term>
966 <listitem><para>
967 Setze das Filmfenster auf halbe Größe.
968 </para></listitem>
969 </varlistentry>
970 <varlistentry>
971 <term><emphasis role="bold">evDoubleSize</emphasis></term>
972 <listitem><para>
973 Setze das Filmfenster auf doppelte Größe.
974 </para></listitem>
975 </varlistentry>
976 <varlistentry>
977 <term><emphasis role="bold">evFullScreen</emphasis></term>
978 <listitem><para>
979 Schalte Vollbildmodus an/aus.
980 </para></listitem>
981 </varlistentry>
982 <varlistentry>
983 <term><emphasis role="bold">evNormalSize</emphasis></term>
984 <listitem><para>
985 Setze das Filmfenster auf normale Größe.
986 </para></listitem>
987 </varlistentry>
988 </variablelist>
989
990 <variablelist>
991 <title>Audio-Kontrolle:</title>
992 <varlistentry>
993 <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
994 <listitem><para>
995 Verringere die Verzögerung des Audiopuffers.
996 </para></listitem>
997 </varlistentry>
998
999 <varlistentry>
1000 <term><emphasis role="bold">evDecBalance</emphasis></term>
1001 <listitem><para>
1002 Verringere die Balance.
1003 </para></listitem>
1004 </varlistentry>
1005
1006 <varlistentry>
1007 <term><emphasis role="bold">evDecVolume</emphasis></term>
1008 <listitem><para>
1009 Verringere die Lautstärke.
1010 </para></listitem>
1011 </varlistentry>
1012
1013 <varlistentry>
1014 <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
1015 <listitem><para>
1016 Erhöhe die Verzögerung des Audiopuffers.
1017 </para></listitem>
1018 </varlistentry>
1019
1020 <varlistentry>
1021 <term><emphasis role="bold">evIncBalance</emphasis></term>
1022 <listitem><para>
1023 Erhöhe die Balance.
1024 </para></listitem>
1025 </varlistentry>
1026
1027 <varlistentry>
1028 <term><emphasis role="bold">evIncVolume</emphasis></term>
1029 <listitem><para>
1030 Erhöhe die Lautstärke.
1031 </para></listitem>
1032 </varlistentry>
1033
1034 <varlistentry>
1035 <term><emphasis role="bold">evMute</emphasis></term>
1036 <listitem><para>
1037 Schalte den Sound an/aus (Mute/Unmute).
1038 </para></listitem>
1039 </varlistentry>
1040
1041 <varlistentry>
1042 <term><emphasis role="bold">evSetBalance</emphasis></term>
1043 <listitem><para>
1044 Setze die Balance(kann von einem Potentiometer genutzt werden;
1045 mit dem relativen Wert (0-100%) des Potentiometers).
1046 </para></listitem>
1047 </varlistentry>
1048
1049 <varlistentry>
1050 <term><emphasis role="bold">evSetVolume</emphasis></term>
1051 <listitem><para>
1052 Setze die Lautstärke(kann von einem Potentiometer genutzt werden;
1053 mit dem relativen Wert (0-100%) des Potentiometers).
1054 </para></listitem>
1055 </varlistentry>
1056 </variablelist>
1057
1058 <variablelist>
1059 <title>Verschiedenes:</title>
1060 <varlistentry>
1061 <term><emphasis role="bold">evAbout</emphasis></term>
1062 <listitem><para>
1063 Öffne das About-Fenster.
1064 </para></listitem>
1065 </varlistentry>
1066
1067 <varlistentry>
1068 <term><emphasis role="bold">evDropSubtitle</emphasis></term>
1069 <listitem><para>
1070 Deaktiviert den aktuell verwendeten Untertitel.
1071 </para></listitem>
1072 </varlistentry>
1073
1074 <varlistentry>
1075 <term><emphasis role="bold">evEqualizer</emphasis></term>
1076 <listitem><para>
1077 Schaltet den Equalizer an/aus.
1078 </para></listitem>
1079 </varlistentry>
1080
1081 <varlistentry>
1082 <term><emphasis role="bold">evExit</emphasis></term>
1083 <listitem><para>
1084 Schließe das Programm.
1085 </para></listitem>
1086 </varlistentry>
1087
1088 <varlistentry>
1089 <term><emphasis role="bold">evIconify</emphasis></term>
1090 <listitem><para>
1091 Minimiere das Fenster zu einem Symbol.
1092 </para></listitem>
1093 </varlistentry>
1094
1095 <varlistentry>
1096 <term><emphasis role="bold">evLoad</emphasis></term>
1097 <listitem><para>
1098 Lade eine Datei (durch Öffnen des Datei-Browser-Fensters,
1099 in dem du die Datei wählen kannst).
1100 </para></listitem>
1101 </varlistentry>
1102
1103 <varlistentry>
1104 <term><emphasis role="bold">evLoadPlay</emphasis></term>
1105 <listitem><para>
1106 Macht das selbe wie <literal>evLoad</literal>, es startet jedoch
1107 das Abspielen nach dem Laden der Datei automatisch.
1108 </para></listitem>
1109 </varlistentry>
1110
1111 <varlistentry>
1112 <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
1113 <listitem><para>
1114 Lädt eine Untertiteldatei (mit dem Dateiwähler)
1115 </para></listitem>
1116 </varlistentry>
1117
1118 <varlistentry>
1119 <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
1120 <listitem><para>
1121 Lädt eine Audio-Datei (mit dem Dateiwähler)
1122 </para></listitem>
1123 </varlistentry>
1124
1125 <varlistentry>
1126 <term><emphasis role="bold">evNone</emphasis></term>
1127 <listitem><para>
1128 Leere Meldung, besitzt keinen Effekt (außer vielleicht in CVS-Versionen :-)).
1129 </para></listitem>
1130 </varlistentry>
1131
1132 <varlistentry>
1133 <term><emphasis role="bold">evPlaylist</emphasis></term>
1134 <listitem><para>
1135 Öffne/schließe das Playlisten-Fenster.
1136 </para></listitem>
1137 </varlistentry>
1138
1139 <varlistentry>
1140 <term><emphasis role="bold">evPlayDVD</emphasis></term>
1141 <listitem><para>
1142 Versucht die DVD im angegebenen DVD-ROM-Laufwerk zu öffnen.
1143 </para></listitem>
1144 </varlistentry>
1145
1146 <varlistentry>
1147 <term><emphasis role="bold">evPlayVCD</emphasis></term>
1148 <listitem><para>
1149 Versucht die VCD im angegebenen CD-ROM-Laufwerk zu öffnen.
1150 </para></listitem>
1151 </varlistentry>
1152
1153 <varlistentry>
1154 <term><emphasis role="bold">evPreferences</emphasis></term>
1155 <listitem><para>
1156 Öffne das Einstellungsfenster.
1157 </para></listitem>
1158 </varlistentry>
1159
1160 <varlistentry>
1161 <term><emphasis role="bold">evSetAspect</emphasis></term>
1162 <listitem><para>
1163 Setzt das angezeigte Grafikseitenverhältnis.
1164 </para></listitem>
1165 </varlistentry>
1166
1167 <varlistentry>
1168 <term><emphasis role="bold">evSetURL</emphasis></term>
1169 <listitem><para>
1170 Zeigt das URL-Dialog-Fenster.
1171 </para></listitem>
1172 </varlistentry>
1173
1174 <varlistentry>
1175 <term><emphasis role="bold">evSkinBrowser</emphasis></term>
1176 <listitem><para>
1177 Öffne das Skin-Browser-Fenster.
1178 </para></listitem>
1179 </varlistentry>
1180 </variablelist>
1181
1182 </sect1>
1183
1184 <sect1 id="skin-quality">
1185 <title>Herstellung von Qualitätsskins</title>
1186
1187 <para>
1188 Jetzt hast du dich über das Herstellen eines Skins für das
1189 <application>MPlayer</application>-GUI informiert, in
1190 <application>Gimp</application> dein bestes gegeben und willst
1191 deinen Skin an uns schicken?
1192 Lies weiter dann findest du einige Vorgaben häufige Irrtümer zu
1193 vermeiden und produiere einen hochwertigen Skin.
1194 </para>
1195
1196 <para>
1197 Wir wollen dass Skins, die wir in unser Repository eingefügt werden,
1198 zu bestimmten Qualitätsstandars konform sind. Es gibt auch vieles, das
1199 du tun kannst, um uns das Leben leichter zu machen.
1200 </para>
1201
1202 <para>
1203 Als ein Beispiel kannst du dir den <systemitem>Blue</systemitem>-Skin
1204 ansehen. Er genügt seit Version 1.5 allen unten aufgelisteten Kriterien.
1205 </para>
1206
1207 <itemizedlist>
1208 <listitem><para>
1209 Jeder Skin sollte mit einer
1210 <filename>README</filename>-Datei ankommen, die Iformationen über
1211 dich, den Autor, Copyright- und Licenzanmerkungen und alles, was du
1212 sonst noch anfügen willst, enthält.
1213 Willst du einen Changelog, ist diese Datei ein geeigneter Ort dafür.
1214 </para></listitem>
1215
1216 <listitem><para>
1217 Es sollte eine Datei namens <filename>VERSION</filename>
1218 mit nicht mehr als der Versionsnummer des Skins in einer einzigen
1219 Zeile geben (z.B. 1.0).
1220 </para></listitem>
1221
1222 <listitem><para>
1223 Horizontale und vertikale Regler (wie die für Lautstärke
1224 oder Position) sollten die Mitte des Knaufs sauber in der Mitte
1225 des Regglers zentriert haben. Es sollte möglich sein, den Knauf
1226 an beide Enden des Reglers zu bewegen, jedoch nicht darüber hinaus.
1227 </para></listitem>
1228
1229 <listitem><para>
1230 Für Skin-Elemente sollten die richtigen Größen in der skin-Datei
1231 deklariert sein. Ist dies nicht der Fall, kannst du außerhalb
1232 z.B. eines Buttons klicken und trotzdem einen Klick innerhalb
1233 seiner Fläche auslösen und diesen dennoch nicht auslösen.</para></listitem>
1234
1235 <listitem><para>
1236 Die <filename>skin</filename>-Datei sollte sauber
1237 aussehen und keine Tabs enthalten. Mit sauber aussehen ist
1238 gemeint, dass die Zahlen ordentlich in Reihe stehen.
1239 </para></listitem>
1240 </itemizedlist>
1241
1242 </sect1>
1243
1244 </appendix>