diff DOCS/xml/fr/skin.xml @ 10109:b84118357b83

Adding of XML french docs
author nicolas
date Fri, 16 May 2003 13:20:06 +0000
parents
children 1ffff639216e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DOCS/xml/fr/skin.xml	Fri May 16 13:20:06 2003 +0000
@@ -0,0 +1,1120 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<appendix id="skin">
+<title>Format de skins MPlayer</title>
+<para>
+L'objectif de ce document est de décrire le format de skins de MPlayer. Les
+informations présentées ici peuvent s'avérer fausses, du fait que
+<orderedlist>
+<listitem><para>Ce n'est pas moi qui ait écrit la GUI.</para></listitem>
+<listitem><para>Cette GUI n'est pas terminée.</para></listitem>
+<listitem><para>Je peux me tromper.</para></listitem>
+</orderedlist>
+Ne soyez donc pas surpris si quelque chose ne correspond pas à cette description.
+</para>
+
+<para>Merci à <emphasis>Zoltán Ponekker</emphasis> pour son aide.</para>
+
+<para><emphasis>András Mohari &lt;mayday@freemail.hu&gt;</emphasis></para>
+
+<sect1 id="skin-overview">
+<title>Aperçu</title>
+<para>
+Ce n'est pas en rapport direct avec le format des skins, mais vous devez savoir
+que MPlayer n'a <emphasis role="bold">pas</emphasis> de skin par défaut, donc
+<emphasis role="bold">au moins une skin doit être installée pour pouvoir utiliser
+la GUI.</emphasis>
+</para>
+
+<sect2 id="skin-overview-directories">
+<title>Répertoires</title>
+<para>
+MPlayer cherche des skins dans ces répertoires (dans cet ordre):
+<orderedlist>
+<listitem><para>
+<filename class="directory">$(DATADIR)/Skin/</filename>
+</para></listitem>
+<listitem><para>
+<filename class="directory">$(PREFIX)/share/mplayer/Skin/</filename>
+</para></listitem>
+<listitem><para>
+<filename class="directory">~/.mplayer/Skin/</filename>
+</para></listitem>
+</orderedlist>
+</para>
+
+<para>
+Notez que le premier répertoire peut varier suivant la façon dont MPlayer a été
+configuré (c.f. les arguments <option>--prefix</option> et <option>--datadir</option>
+du script <command>configure</command>).
+</para>
+
+<para>
+Chaque skin est installée dans son propre répertoire sous l'un des répertoires
+listés ci-dessus, par exemple:
+<screen>$(PREFIX)/share/mplayer/Skin/default/</screen>
+</para>
+</sect2>
+
+<sect2 id="skin-overview-formats">
+<title>Format d'images</title>
+<para>Les images doivent être en truecolor (24 ou 32 bpp) et enregistrées au
+format PNG.</para>
+<para>
+Dans la fenêtre principale et la barre de lecture (c.f. ci-dessous) vous pouvez
+utiliser des images dotées de régions &quot;transparentes&quot;: les régions
+remplies avec la couleur #FF00FF (magenta) deviennent transparentes dans MPlayer.
+De même, vous pouvez obtenir des formes particulières pour vos fenêtres si votre
+serveur X possède l'extension XShape.
+</para>
+</sect2>
+
+<sect2 id="skin-overview-components">
+<title>Composants d'une skin</title>
+<para>
+Les skins sont d'un format plutôt libre (contrairement aux formats fixes de
+Winamp/XMMS, par exemple), donc il ne tient qu'a vous de créer quelque chose de
+bien.
+</para>
+
+<para>
+Actuellement, trois fenêtres doivent être décorées: la
+<link linkend="skin-file-main">fenêtre principale</link>, la
+<link linkend="skin-file-subwindow">sous-fenêtre</link>, la
+<link linkend="skin-file-main">barre de lecture</link>, et le
+<link linkend="skin-file-menu">menu</link> (activable par un clic droit).
+
+<itemizedlist>
+<listitem><para>
+  Vous controlez MPlayer par la <emphasis role="bold">fenêtre principale</emphasis>
+  et/ou la <emphasis role="bold">barre de lecture</emphasis>. L'arrière plan est
+  une image. Divers objets doivent venir se placer dans cette fenêtre:
+  <emphasis>boutons</emphasis>, <emphasis>podomètres</emphasis>
+  (sliders) et des <emphasis>labels</emphasis>. Pour chaque objet, vous devez
+  spécifier sa taille et sa position.
+</para><para>
+  Un <emphasis role="bold">bouton</emphasis> comprend trois états (pressé, relâché,
+  désactivé), donc l'image doit se diviser en trois parties, verticalement. c.f.
+  l'objet <link linkend="skin-button">bouton</link> pour plus de détails.
+</para><para>
+  Un <emphasis role="bold">podomètre</emphasis> (principalement utilisé pour la
+  barre d'avancement et le contrôle du volume/balance) peut posséder n'importe quel
+  nombre d'états en empilant ces images, verticalement. C.f.
+  <link linkend="skin-hpotmeter">hpotmeter</link> et
+  <link linkend="skin-potmeter">potmeter</link> pour plus de détails.
+</para><para>
+  Les <emphasis role="bold">labels</emphasis> sont un peut particuliers : les
+  caractères nécessaires pour les dessiner sont récupérés depuis un fichier image,
+  décrit par un <link linkend="skin-fonts">fichier de description de polices</link>.
+  Ce dernier est un fichier texte brut spécifiant la position x,y ainsi que la
+  taille de chaque caractère dans l'image. (donc le fichier image et son descripteur
+  forment une police <emphasis>ensemble</emphasis>). Voir <link linkend="skin-dlabel">dlabel</link>
+  et <link linkend="skin-slabel">slabel</link> pour plus de détails.
+</para>
+<note><para>
+  Toutes les images disposent de la couleur de transparence décrite dans la section
+  <link linkend="skin-overview-formats">formats d'images</link>. Si le serveur X ne
+  supporte pas l'extension Xshape, les parties transparentes seront noires. Si vous
+  voulez utiliser cette fonction, la largeur de l'image de la fenêtre principale
+  devra être divisible par 8.
+</para></note>
+</listitem>
+
+<listitem><para>
+  La <emphasis role="bold">sous-fenêtre</emphasis> contient la vidéo en elle même.
+  Elle peut afficher une image si aucun film n'est chargé (ce n'est jamais plaisant
+  d'avoir une fenêtre vide :-)) <emphasis role="bold">Note:</emphasis> la couleur
+  de transparence n'est <emphasis role="bold">pas autorisée</emphasis> ici.
+</para></listitem>
+
+<listitem><para>
+  Le <emphasis role="bold">menu</emphasis> est simplement un moyen de contrôler
+  MPlayer par des entrées graphiques. Deux images sont nécessaires pour le menu:
+  l'une d'elle, l'image de base, affiche le menu dans son été normal, l'autre est
+  utilisée pour afficher les entrées sélectionnées. Quand vous faites apparaître le
+  menu, la première image s'affiche. Si vous passez la souris sur les entrées du
+  menu, l'entrée sélectionnée est copiée depuis la seconde image, et uniquement la
+  partie concernée par cette sélection (Donc la seconde image ne s'affiche jamais
+  complètement.)
+</para><para>
+  Une entrée de menu se définit par sa position et sa taille dans l'image (c.f. la
+  section <link linkend="skin-file-menu">menu</link> pour plus de détails).
+</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+  Une chose essentielle n'a pas encore été mentionnée : pour que les boutons,
+  podomètres et entrées du menu fonctionnent, MPlayer doit savoir quoi en faire.
+  Ceci dépend des <link linkend="skin-gui">messages</link> (events) envoyés. Pour
+  chacun de ces objets vous devez définir le message à afficher quand on clique
+  dessus.
+</para>
+</sect2>
+
+<sect2 id="skin-files">
+<title>Fichiers</title>
+<para>
+Vous aurez besoin des fichiers suivants pour construire une skin:
+<itemizedlist>
+<listitem><para>
+  Le fichier de configuration nommé <link linkend="skin-file">skin</link> indique
+  à MPlayer comment assembler les différentes images et comment interpréter les
+  clics de souris sur l'interface.
+</para></listitem>
+<listitem><para>
+  L'image de fond de la fenêtre principale.
+</para></listitem>
+<listitem><para>
+  Les images correspondant aux objets de la fenêtre principale (y compris une ou
+  plusieurs polices et descripteurs nécessaires à l'affichage des textes).
+</para></listitem>
+<listitem><para>
+  L'image affichée dans la sous-fenêtre (optionnel).
+</para></listitem>
+<listitem><para>
+  Deux images pour le menu (nécessaires uniquement si vous voulez créer un menu).
+</para></listitem>
+</itemizedlist>
+  A l'exception du fichier de configuration, vous pouvez nommer les fichiers comme
+  bon vous semble (mais notez que les descripteurs de polices doivent avoir une
+  extension <filename>.fnt</filename>).
+</para>
+</sect2>
+</sect1>
+ 
+<sect1 id="skin-file">
+<title>Le fichier skin</title>
+<para>
+Comme mentionné plus haut, c'est le fichier de configuration de la skin. Il est
+lu ligne par ligne; les lignes de commentaire démarrent par le caractère
+'<literal>;</literal>' en début de ligne (seuls les espaces et tabulations sont
+autorisées avant ce signe).
+</para>
+
+<para>
+Les fichiers se composent de sections. Chaque section décrit la skin pour une
+application et s'écrit sous la forme:
+<programlisting>
+section = <replaceable>nom de la section</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+Actuellement il n'existe qu'une application, donc vous n'aurez besoin que d'une
+section: dont le nom est <emphasis role="bold">movieplayer</emphasis>.
+</para>
+
+<para>
+Dans cette section chaque fenêtre est décrite par un bloc de la forme suivante:
+<programlisting>
+window = <replaceable>window name</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+Où <replaceable></replaceable> peut-être l'un des types suivants:
+<itemizedlist>
+<listitem><para><emphasis role="bold">main</emphasis> - pour la fenêtre principale</para></listitem>
+<listitem><para><emphasis role="bold">sub</emphasis> - pour la sous-fenêtre</para></listitem>
+<listitem><para><emphasis role="bold">menu</emphasis> - pour le menu</para></listitem>
+<listitem><para><emphasis role="bold">playbar</emphasis> - barre de lecture</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+(Les blocs sub et menu sont optionnels - vous n'avez pas d'obligation de décorer
+le menu et la sous-fenêtre.)
+</para>
+
+<para>
+Dans un bloc window, vous pouvez définir chaque objet sous la forme:
+<programlisting>item = paramètre</programlisting>
+Où <literal>item</literal> est une ligne identifiant le type d'objet de la GUI,
+<literal>paramètre</literal> est une valeur numérique ou textuelle (ou une liste
+de valeurs séparées par des virgules).
+</para>
+
+<para>
+Le fichier final doit donc ressembler à ceci:
+<programlisting>
+section = movieplayer
+  window = main
+  ; ... items for main window ...
+  end
+
+  window = sub
+  ; ... items for subwindow ...
+  end
+  
+  window = menu
+  ; ... items for menu ...
+  end
+
+  window = playbar
+  ; ... items for playbar ...
+  end
+end
+</programlisting>
+</para>
+
+<para>
+Le nom d'un fichier image doit être donné sans distinction de répertoire - les
+images seront cherchées dans le répertoire <filename class="directory">Skin</filename>.
+Vous pouvez (mais ce n'est pas obligatoire) spécifier l'extension du fichier. Si
+le fichier n'existe pas, MPlayer essaie de charger le fichier
+<filename>&lt;filename&gt;.&lt;ext&gt;</filename>, où <literal>png</literal>
+et <literal>PNG</literal> sera respectivement <filename>&lt;ext&gt;</filename>
+(dans cet ordre). La première correspondance trouvée sera utilisée.
+</para>
+
+<para>
+Pour finir quelques mots sur le positionnement. La fenêtre principale et la
+sous-fenêtre peuvent être placées dans des coins différents de l'écran en donnant
+les coordonnées <literal>X</literal> et <literal>Y</literal>. <literal>0</literal>
+pour haut ou gauche, <literal>-1</literal> pour centre et <literal>-2</literal>
+pour droite ou bas, comme montré sur cette illustration:
+</para>
+<informalfigure>
+<screen>
+(0, 0)----(-1, 0)----(-2, 0)
+  |          |          |
+  |          |          |
+(0,-1)----(-1,-1)----(-2,-1)
+  |          |          |
+  |          |          |
+(0,-2)----(-1,-2)----(-2,-2)
+</screen>
+</informalfigure>
+
+<para>
+
+Un exemple. Supposons que vous avez crée une image <filename>main.png</filename>
+que vous voulez utiliser pour la fenêtre principale:
+<programlisting>base = main, -1, -1</programlisting>
+MPlayer essaie de charger les fichiers <filename>main</filename>,
+<filename>main.png</filename>, <filename>main.PNG</filename>.
+</para>
+
+
+<sect2 id="skin-file-main">
+<title>Fenêtre principale et barre de lecture</title>
+<para>
+Vous trouverez ci-dessous la liste des objets utilisables dans les blocs
+'<literal>window = main</literal>' .&nbsp;.&nbsp;. '<literal>end</literal>',
+et '<literal>window = playbar</literal>' .&nbsp;.&nbsp;. '<literal>end</literal>'.
+</para>
+
+<variablelist>
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-main-base"/>base = image, X, Y
+  </literal></term>
+  <listitem><para>
+  Vous spécifiez ici l'image de fond utilisée dans la fenêtre principale. La
+  fenêtre apparaîtra a la position <literal>X,Y</literal> sur l'écran. La fenêtre
+  a la taille de l'image.
+    </para>
+    <note><para>Ces coordonnées ne fonctionnent actuellement pas pour la fenêtre
+    d'affichage.</para></note>
+    <warning><para>Les régions transparentes (couleur #FF00FF) apparaîtront en noir
+    sur les serveurs X n'ayant pas l'extension XShape. La largeur de l'image doit
+    être divisible par 8.</para></warning>
+    </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-button"/>button = image, X, Y, largeur, hauteur, message
+  </literal></term>
+  <listitem><para>
+Place un bouton de taille <literal>largeur</literal> * <literal>hauteur</literal>
+a la position <literal>X,Y</literal>. Le <literal>message</literal> sera généré
+au clic sur ce bouton. L'image appelée par <literal>image</literal> doit avoir
+trois états empilés verticalement (pour les trois états du bouton), comme ceci:
+
+</para>
+<informalfigure>
+<screen>
++------------+
+|  pressé    |
++------------+
+|  relâché   |
++------------+
+|  désactivé |
++------------+
+</screen>
+</informalfigure>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-decoration"/>decoration = enable|disable
+  </literal></term>
+  <listitem><para>
+Active (enable) ou désactive (disable) la décoration du gestionnaire de fenêtre
+pour la fenêtre principale. <emphasis role="bold">disable</emphasis> par défaut.
+    </para>
+    <note><para>Cela ne fonctionne pas pour la fenêtre d'affichage, il n'y en a pas
+    besoin.</para></note>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-hpotmeter"/>hpotmeter = button, blargeur, bhauteur, phases, numphases, default, X, Y, largeur, hauteur, message
+  </literal></term>
+  <listitem><para>
+
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-vpotmeter"/>vpotmeter = button, blargeur, bhauteur, phases, numphases, default, X, Y, largeur, hauteur, message
+  </literal></term>
+  <listitem><para>
+
+Place un podomètre horizontal (hpotmeter) ou vertical (vpotmeter) de taille
+<literal>largeur</literal> * <literal>hauteur</literal> à la position
+<literal>X,Y</literal>. L'image peut être divisée en différentes parties pour les
+différentes phases du podomètre (par exemple, vous pouvez en avoir un pour le
+contrôle du volume qui passe du vert au rouge quand sa valeur passe du minimum au
+maximum). <literal>hpotmeter</literal> peut posséder un bouton qui sera glissé
+horizontalement.
+    </para>
+    <itemizedlist>
+    <listitem><para><literal>button</literal> - l'image utilisée pour le bouton (doit
+    avoir trois états superposés, comme pour les
+    <link linkend="skin-button">boutons</link>)
+    </para></listitem>
+    <listitem><para><literal>blargeur</literal>,<literal>bhauteur</literal> - taille
+    du bouton
+    </para></listitem>
+   <listitem><para><literal>phases</literal> - L'image utilisée pour les différentes
+   phases du podomètre. Une valeur <literal>NULL</literal> spéciale peut-être
+   utilisée si vous ne voulez pas d'image. L'image doit être divisée en
+   <literal>numphasesparts</literal> verticalement comme ceci:
+    </para>
+<informalfigure>
+<screen>
++------------+
+|  phase #1  |
++------------+
+|  phase #2  |
++------------+
+     ...
++------------+
+|  phase #n  |
++------------+
+</screen>
+</informalfigure>
+    </listitem>
+    <listitem><para><literal>numphases</literal> - nombre d'états placés dans l'image.
+    </para></listitem>
+    <listitem><para><literal>default</literal> - valeur par défaut du podomètre (dans
+    un intervalle de <literal>0</literal> à <literal>100</literal>)
+    </para></listitem>
+    <listitem><para><literal>X</literal>,<literal>Y</literal> - position du hpotmeter
+    </para></listitem>
+    <listitem><para><literal>largeur</literal>,<literal>hauteur</literal> -
+    largeur et hauteur du <literal>hpotmeter</literal>
+    </para></listitem>
+    <listitem><para><literal>message</literal> - le message généré lors des
+    changements d'état de <literal>hpotmeter</literal>
+    </para></listitem>
+    </itemizedlist>
+
+    </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, largeur, hauteur, message
+  </literal></term>
+  <listitem><para>
+Un <literal>hpotmeter</literal> sans boutons. (je suppose qu'il est censé tourner
+en rond, mais il réagit uniquement aux tractions horizontales.) Pour une
+description de ses paramètres lisez <link linkend="skin-hpotmeter">hpotmeter</link>.
+Ses <literal>phases</literal> peuvent être <literal>NULL</literal>, mais ce n'est
+pas vraiment utile, puisque vous ne pouvez pas voir son niveau.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-font"/>font = fontfile, fontid
+  </literal></term>
+  <listitem><para>
+Définit une police. <literal>fontfile</literal> est le nom du descripteur de
+police avec l'extension <filename>.fnt</filename> (inutile de préciser son
+extension ici). <literal>fontid</literal> réfère à la police (c.f.
+<link linkend="skin-dlabel">dlabel</link> et <link linkend="skin-slabel">slabel</link>).
+Jusqu'à 25 polices peuvent être définies.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-slabel"/>slabel = X, Y, fontid, &quot;texte&quot;
+  </literal></term>
+  <listitem><para>
+Place un label dynamique à la position <literal>X,Y</literal>. <literal>texte</literal>
+est affiché en utilisant la police identifiée par <literal>fontid</literal>. Le
+texte est juste une chaîne brute (les variables <literal>$x</literal> ne
+fonctionnent pas) qui doit être mise entre doubles quotes (mais le caractère
+&quot; ne peut pas faire partie du texte). Le label est affiché en utilisant la
+police identifiée par <literal>fontid</literal>.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-dlabel"/>dlabel = X, Y, longueur, align, fontid, &quot;texte&quot;
+  </literal></term>
+  <listitem>
+<para>
+Place un label statique à la position <literal>X,Y</literal>. Le label est appelé
+dynamique parce que son texte est rafraîchi périodiquement. La longueur maximum du
+label est définie par <literal>longueur</literal> (sa hauteur dépend de la hauteur
+des caractères). Si le texte a afficher dépasse cette longueur il sera scrollé, ou
+bien aligné dans l'espace spécifié par la valeur du paramètre
+<literal>align</literal>: <literal>0</literal> pour droite,
+<literal>1</literal> pour centre, et <literal>2</literal> pour gauche.
+</para>
+<para>
+Le texte à afficher est donné par <literal>texte</literal>: il doit être écrit
+entre doubles quotes (mais le caractère &quot; ne peut pas faire partie du texte).
+Le texte s'affiche en utilisant la police spécifiée par <literal>fontid</literal>.
+Vous pouvez utiliser les variables suivantes dans le texte:
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+  <row><entry>Variable</entry><entry>Signification</entry></row>
+</thead>
+<tbody>
+<row>
+<entry>$1</entry>
+<entry>temps de lecture en <emphasis>hh:mm:ss</emphasis></entry>
+</row>
+<row>
+<entry>$2</entry>
+<entry>temps de lecture en <emphasis>mmmm:ss</emphasis></entry>
+</row>
+<row>
+<entry>$3</entry>
+<entry>temps de lecture en <emphasis>hh</emphasis> (heures)</entry>
+</row>
+<row>
+<entry>$4</entry>
+<entry>temps de lecture en <emphasis>mm</emphasis> (minutes)</entry>
+</row>
+<row>
+<entry>$5</entry>
+<entry>temps de lecture en <emphasis>ss</emphasis> (secondes)</entry>
+</row>
+<row>
+<entry>$6</entry>
+<entry>longueur du film en <emphasis>hh:mm:ss</emphasis></entry>
+</row>
+<row>
+<entry>$7</entry>
+<entry>longueur du film en <emphasis>mmmm:ss</emphasis></entry>
+</row>
+<row>
+<entry>$8</entry>
+<entry>temps de lecture en <emphasis>h:mm:ss</emphasis></entry>
+</row>
+<row>
+<entry>$v</entry>
+<entry>volume en <emphasis>xxx.xx</emphasis>%</entry>
+</row>
+<row>
+<entry>$V</entry>
+<entry>volume en <emphasis>xxx.xx</emphasis></entry>
+</row>
+<row>
+<entry>$b</entry>
+<entry>balance en <emphasis>xxx.xx</emphasis>%</entry>
+</row>
+<row>
+<entry>$B</entry>
+<entry>balance en <emphasis>xxx.xx</emphasis></entry>
+</row>
+<row>
+<entry>$$</entry>
+<entry>le caractère $</entry>
+</row>
+<row>
+<entry>$a</entry>
+<entry>un caractère dépendant du type audio (aucun: <literal>n</literal>,
+mono: <literal>m</literal>, stéréo: <literal>t</literal>)</entry>
+</row>
+<row>
+<entry>$t</entry>
+<entry>numéro de piste (dans la playlist)</entry>
+</row>
+<row>
+<entry>$o</entry>
+<entry>nom du fichier</entry>
+</row>
+<row>
+<entry>$f</entry>
+<entry>nom du fichier en minuscule</entry>
+</row>
+<row>
+<entry>$F</entry>
+<entry>nom du fichier en majuscule</entry>
+</row>
+<row>
+<entry>$T</entry>
+<entry>un caractère dépendant du type de flux (fichier: <literal>f</literal>,
+Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
+</row>
+<row>
+<entry>$p</entry>
+<entry>le caractère <keycap>p</keycap> (si une vidéo est en lecture et que la
+police a le caractère <keycap>p</keycap>)</entry>
+</row>
+<row>
+<entry>$s</entry>
+<entry>le caractère <keycap>s</keycap> (si une vidéo est stoppée et que la police
+a le caractère <keycap>s</keycap>)</entry>
+</row>
+<row>
+<entry>$e</entry>
+<entry>le caractère <keycap>e</keycap> (si une vidéo est en pause et que la police
+a le caractère <keycap>e</keycap>)</entry>
+</row>
+<row>
+<entry>$x</entry>
+<entry>largeur du film</entry>
+</row>
+<row>
+<entry>$y</entry>
+<entry>hauteur du film</entry>
+</row>
+<row>
+<entry>$C</entry>
+<entry>nom du codec utilisé</entry>
+</row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</listitem>
+
+</varlistentry>
+</variablelist>
+
+<note><para>
+Les variables <literal>$a, $T, $p, $s</literal> et <literal>$e</literal>
+<keycap>e</keycap> retournent toutes des caractères pouvant s'afficher comme des
+symboles spéciaux (par exemple, &quot;e&quot; est le symbole de pause qui
+ressemble généralement à ||). Vous pouvez avoir une police pour les caractères
+normaux et une autre pour les symboles. Lisez la section sur les
+<link linkend="skin-fonts-symbols">symboles</link> pour plus d'informations.
+</para></note>
+</sect2>
+
+<sect2 id="skin-file-subwindow">
+<title>Sous-fenêtre</title>
+<para>
+Vous trouverez ci-dessous la liste des objets utilisables dans le bloc
+'<literal>window = sub</literal>' . . . '<literal>end</literal>'.
+</para>
+
+<variablelist>
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-sub-base"/>base = image, X, Y, largeur, hauteur
+  </literal></term>
+  <listitem><para>
+L'image qui s'affichera dans la fenêtre. La fenêtre apparaîtra à la position
+<literal>X,Y</literal> sur l'écran (<literal>0,0</literal> est le coin supérieur
+gauche). Vous pouvez spécifier <literal>-1</literal> pour centre et <literal>-2</literal>
+pour droite(<literal>X</literal>) et bas (<literal>Y</literal>). La fenêtre prendra
+la taille de l'image. <literal>largeur</literal> et <literal>hauteur</literal>
+donnent la taille de la fenêtre; ces paramètres sont optionnels (si ils sont
+absents, le fenêtre prend la taille de l'image).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-background"/>background = R, V, B
+  </literal></term>
+  <listitem><para>
+Vous permet de définir la couleur de fond. Utile si l'image est plus petite que la
+fenêtre. <literal>R</literal>, <literal>V</literal> et <literal>B</literal>
+spécifient les composantes rouge, verte et bleue de la couleur (d'un intervalle
+entre 0 et 255).
+    </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="skin-file-menu">
+<title>Menu</title>
+<para>
+Comme mentionné précédemment, le menu s'affiche en utilisant deux images. Les
+entrées normales du menu sont extraite de l'image spécifiée par l'objet
+<literal>base</literal>, tandis que l'entrée actuellement sélectionnée est
+extraite de l'image spécifiée par l'objet <literal>selected</literal>. Vous devez
+définir la taille et la position de chaque entrée du menu par l'objet
+<literal>menu</literal>.
+</para>
+
+<para>
+Ils correspondent aux objets utilisés dans le bloc
+'<literal>window = menu</literal>'. . .'<literal>end</literal>'.
+</para>
+
+<variablelist>
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-menu-base"/>base = image
+  </literal></term>
+  <listitem><para>
+L'image utilisée pour les entrées normales.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-selected"/>selected = image
+  </literal></term>
+  <listitem><para>
+L'image utilisée pour les entrées sélectionnées.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><literal>
+  <anchor id="skin-menu"/>menu = X, Y, largeur, hauteur, message
+  </literal></term>
+  <listitem><para>
+Définit la position <literal>X,Y</literal> et la taille des entrées du menu dans
+les images. <literal>message</literal> est le message généré quand le bouton de la
+souris est relâché.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+</sect1>
+
+<sect1 id="skin-fonts">
+<title>Polices</title>
+<para>
+Comme mentionné dans la section sur les parties de la skin, une police est définie
+par une image et un fichier de description. Vous pouvez placer les caractères
+n'importe ou sur l'image, mais vous devez vous assurer que leur position et taille
+correspondent précisément au fichier de description.
+</para>
+
+<para>
+Le fichier descriptif des polices (avec l'extension <filename>.fnt</filename>)
+peut avoir des lignes de commentaires commençant par  '<literal>;</literal>'.
+Le fichier doit avoir une ligne du type
+<anchor id="skin-font-image"/>
+<programlisting>image = <replaceable>image</replaceable></programlisting>
+Où <literal><replaceable>image</replaceable></literal> est le nom de l'image qui
+sera utilisée pour la police (vous n'avez pas à définir d'extension).
+<anchor id="skin-font-char"/>
+<programlisting>&quot;char&quot; = X, Y, largeur, hauteur</programlisting>
+Ici <literal>X</literal> et <literal>Y</literal> précisent la position du caractère
+<literal>char</literal> dans l'image (<literal>0,0</literal> est le coin supérieur
+gauche). <literal>largeur</literal> et <literal>hauteur</literal> sont les
+dimensions du caractère en pixels.
+</para>
+
+<para>
+Voici un exemple définissant les caractères A, B, C utilisant la police <filename>font.png</filename>.
+<programlisting>
+; Peut être &quot;font&quot; au lieu de &quot;font.png&quot;.
+image = font.png
+
+; Trois caractères suffisent pour une démonstration. :-)
+&quot;A&quot; =  0,0, 7,13
+&quot;B&quot; =  7,0, 7,13
+&quot;C&quot; = 14,0, 7,13
+</programlisting>
+</para>
+
+<sect2 id="skin-fonts-symbols">
+<title>Symboles</title>
+<para>
+Certains caractères ont une signification spéciale quand retournés par des
+variables utilisées dans <link linkend="skin-dlabel">dlabel</link>. Ces caractères
+sont censés s'afficher comme des symboles (par exemple, dans le cas d'une lecture
+DVD, vous pouvez afficher un beau logo DVD a la place du caractère '<literal>d</literal>').
+</para>
+<para>
+La table ci-dessous liste les caractères pouvant s'afficher comme des symboles (et
+nécessitent donc une police différente).
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+  <row><entry>Caractère</entry><entry>Symbole</entry></row>
+</thead>
+<tbody>
+<row><entry><keycap>p</keycap></entry><entry>lecture</entry></row>
+<row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
+<row><entry><keycap>e</keycap></entry><entry>pause</entry></row>
+<row><entry><keycap>n</keycap></entry><entry>pas de son</entry></row>
+<row><entry><keycap>m</keycap></entry><entry>son mono</entry></row>
+<row><entry><keycap>t</keycap></entry><entry>son stéréo</entry></row>
+<row><entry><keycap>f</keycap></entry><entry>lecture depuis un fichier</entry></row>
+<row><entry><keycap>v</keycap></entry><entry>lecture depuis un Video CD</entry></row>
+<row><entry><keycap>d</keycap></entry><entry>lecture depuis un DVD</entry></row>
+<row><entry><keycap>u</keycap></entry><entry>lecture depuis une URL</entry></row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect2>
+</sect1>
+
+<sect1 id="skin-gui">
+<title>Messages de la GUI</title>
+<para>
+Ce sont les messages qui peuvent être générés par les boutons, podomètres et
+entrées du menu.
+</para>
+<note><para>
+Certains messages peuvent ne pas fonctionner comme prévu (ou ne pas fonctionner du
+tout). Comme vous le savez, la GUI est en cours de développement.
+</para></note>
+
+<variablelist>
+<title>Contrôle de lecture:</title>
+<varlistentry>
+  <term><emphasis role="bold">evNext</emphasis></term>
+  <listitem><para>
+Saute à la prochaine piste dans la playlist.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPause</emphasis></term>
+  <listitem><para>
+Associé à la commande <literal>evPlaySwitchToPause</literal>. Ils s'utilisent pour
+avoir un bouton play/pause commun. Les deux messages peuvent être assignés aux
+boutons affiches exactement à la même position dans la fenêtre. Ces message mettent
+la lecture en pause et le bouton <literal>evPlaySwitchToPause</literal> s'affiche
+(pour indiquer que le bouton peut être pressé pour continuer la lecture).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlay</emphasis></term>
+  <listitem><para>
+Commence la lecture.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
+  <listitem><para>
+Le contraire de <literal>evPauseSwitchToPlay</literal>. Ce message démarre la
+lecture et l'image associée au bouton <literal>evPauseSwitchToPlay</literal>
+s'affiche (pour indiquer que le bouton peut être pressé pour mettre en pause la lecture).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPrev</emphasis></term>
+  <listitem><para>
+Saute à la piste précédente dans la playlist.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evStop</emphasis></term>
+  <listitem><para>
+Stoppe la lecture.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Avancée dans le flux:</title>
+<varlistentry>
+  <term><emphasis role="bold">evBackward10sec</emphasis></term>
+  <listitem><para>
+Recule de 10 secondes
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evBackward1min</emphasis></term>
+  <listitem><para>
+Recule de 1 minute.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evBackward10min</emphasis></term>
+  <listitem><para>
+Recule de 10 minutes.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evForward10sec</emphasis></term>
+  <listitem><para>
+Avance de 10 secondes
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evForward1min</emphasis></term>
+  <listitem><para>
+Avance de 1 minute.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evForward10min</emphasis></term>
+  <listitem><para>
+Avance de 10 minutes.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
+  <listitem><para>
+Se place à la position (utilisable avec un podomètre; utilise la valeur relative
+(0-100%) du podomètre).
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Contrôle vidéo:</title>
+<varlistentry>
+  <term><emphasis role="bold">evDoubleSize</emphasis></term>
+  <listitem><para>
+Double la taille de la fenêtre vidéo.
+    </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term><emphasis role="bold">evFullScreen</emphasis></term>
+  <listitem><para>
+Passe en mode plein écran.
+    </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term><emphasis role="bold">evNormalSize</emphasis></term>
+  <listitem><para>
+Met la vidéo à sa taille réelle.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Contrôle audio:</title>
+<varlistentry>
+  <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
+  <listitem><para>
+Diminue le délai du tampon audio.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evDecBalance</emphasis></term>
+  <listitem><para>
+Diminue la balance.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evDecVolume</emphasis></term>
+  <listitem><para>
+Diminue le volume.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
+  <listitem><para>
+Augmente le délai du tampon audio.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIncBalance</emphasis></term>
+  <listitem><para>
+Augmente la balance.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIncVolume</emphasis></term>
+  <listitem><para>
+Augmente le volume.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evMute</emphasis></term>
+  <listitem><para>
+Active/désactive le son.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetBalance</emphasis></term>
+  <listitem><para>
+Fixe la balance (utilisable avec un podomètre; utilise la valeur relative (0-100%)
+du podomètre).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetVolume</emphasis></term>
+  <listitem><para>
+Fixe le volume (utilisable avec un podomètre; utilise la valeur relative (0-100%)
+du podomètre).
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist>
+<title>Divers:</title>
+<varlistentry>
+  <term><emphasis role="bold">evAbout</emphasis></term>
+  <listitem><para>
+Ouvre la fenêtre 'A Propos'.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evDropSubtitle</emphasis></term>
+  <listitem><para>
+Désactive le sous-titre actuellement utilisé.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evEqualizer</emphasis></term>
+  <listitem><para>
+Active/désactive l'équalizer.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evExit</emphasis></term>
+  <listitem><para>
+Quitte le programme.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evIconify</emphasis></term>
+  <listitem><para>
+Iconifie la fenêtre.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoad</emphasis></term>
+  <listitem><para>
+Charge un fichier (en ouvrant un mini navigateur de fichiers, où vous pouvez
+choisir un fichier).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoadPlay</emphasis></term>
+  <listitem><para>
+Fait la même chose que <literal>evLoad</literal>, mais démarre la lecture
+automatiquement après le chargement du fichier.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
+  <listitem><para>
+Charge un fichier de sous-titres (avec un sélecteur de fichier)
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
+  <listitem><para>
+Charge un fichier audio (avec un sélecteur de fichier)
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evNone</emphasis></term>
+  <listitem><para>
+Message vide, sans effet. (À part peut-être dans les versions CVS :-)).
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlayList</emphasis></term>
+  <listitem><para>
+Ouvre/ferme la playlist.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlayDVD</emphasis></term>
+  <listitem><para>
+Essaie d'ouvrir le disque dans le lecteur DVD-ROM indiqué.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPlayVCD</emphasis></term>
+  <listitem><para>
+Essaie d'ouvrir le disque dans le lecteur CD-ROM indiqué.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evPreferences</emphasis></term>
+  <listitem><para>
+Ouvre la fenêtre de préférences.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetAspect</emphasis></term>
+  <listitem><para>
+Fixe l'aspect de l'image.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSetURL</emphasis></term>
+  <listitem><para>
+Ouvre la fenêtre de saisie d'URL.
+    </para></listitem>
+</varlistentry>
+
+<varlistentry>
+  <term><emphasis role="bold">evSkinBrowser</emphasis></term>
+  <listitem><para>
+Ouvre le navigateur de skins.
+    </para></listitem>
+</varlistentry>
+</variablelist>
+
+</sect1>
+
+</appendix>