Ceci est une ancienne révision du document !


Créer un jeu de couleurs pour gEdit

Cette page indique comment créer un jeu de couleurs pour gEdit.

Lorsque vous écrivez un code source, vous avez plusieurs styles de texte : les variables, les types de fonction/variable… gEdit peut colorer ces styles de texte, pour le plus grand plaisir de nos yeux délicats. Un jeu de couleur prend la forme d'un fichier xml, attribuant des effets de texte à un style de texte déjà défini.

Un programme existe, badschemer, pour créer des styles de façon plus confortable. Mais (sa)voir comment ça marche ne fait pas de mal, par exemple pour seulement retoucher un jeu de couleurs que vous aurez trouvé et qui est presque parfait à vos yeux on ne va pas télécharger un programme mais faire la modification soi-même :) .

Fichier de départ

Voici un exemple de contenu d'un jeu de couleurs vide :

<?xml version="1.0" encoding="UTF-8"?>
<style-scheme id="exemple" _name="Exemple" version="1.0">

  <author>Auteur</author>
  <_description>Mettez une description du thème (ce qu'il évoque, l'origine d'un tel thème...).</_description>

  <!-- On place ici les différentes informations sur le style -->

</style-scheme>

Quelques explications sur les balises utilisées :

<style-scheme id="Exemple" _name="Exemple" version="1.0">
  • id est un identifiant pour le jeu de couleurs, qu'il est conseillé de mettre en minuscule.
  • _name est le nom que gEdit affichera dans l'onglet Police et Couleurs, dans les Préférences.
<author>Auteur</author>
  • C'est assez clair, non ? :-)
<_description>Mettez une description du thème (ce qu'il évoque, l'origine d'un tel thème...).</_description>
  • Une courte description du thème est affichée dans l'onglet Police et Couleurs, dans les Préférences. C'est ici qu'il faut l'indiquer.

Toutes vos prochaines balises seront à placer entre </_description> et </style-scheme>.

Décorez vous-même les styles

Vous pouvez appliquer différents effets à du texte, notamment le colorer. Lorsqu'un paramètre vous demande une couleur, vous pouvez seulement indiquer une valeur, exemple :

foreground="#FFFFFF"

Mais il faudra alors rentrer manuellement chacune des couleurs. Et si vous comptez appliquer la même couleur à plusieurs styles de texte ? Et si vous voulez changer d'un coup la couleur de ces mêmes styles ? Une méthode plus rapide, et aussi plus claire, est de donner des noms à des couleurs.

Par convention on met ces indications de couleur tout de suite après la balise </_description>.

Voici un exemple de couleurs que vous pouvez définir :

<color name="gris" value="#bbbbbb"/>
<color name="blanc" value="#eeeeee"/>
<color name="jaune" value="#fce94f"/>
<color name="kaki" value="#617200"/>

Ainsi vous définissez vos propres valeurs de gris, de blanc, et ainsi de suite. Si vous trouvez qu'une certaine valeur de jaune est mal appropriée par rapport aux autres couleurs, vous avez juste à la modifier :-) Ça tombe bien, gEdit possède un greffon pour sélectionner une couleur et l'insérer dans le document. :-D

Voila le plus intéressant : les styles ! Un style se définit comme tel :

<style name="nomdustyle" parametre="valeur" autreparametre="autrevaleur"/>

La liste des styles personnalisables est longue et aucune documentation claire n'existe à ce jour. Vous trouverez donc ci-dessous une liste non-exhaustive des styles utilisables.

Liste des paramètres

Voici la liste des paramètres disponibles :

  • bold : afficher du texte en gras. Mettre la valeur true pour le mettre en gras, false étant la valeur par défaut.
  • italic : afficher du texte en italique. Mettre la valeur true pour le mettre en italique, false étant la valeur par défaut.
  • underline : afficher du texte en souligné. Mettre la valeur true pour le mettre en souligné, false étant la valeur par défaut.
  • strikethrough : barrer du texte. Mettre la valeur true pour barrer le texte, false étant la valeur par défaut.
  • use-style : utiliser un style déjà défini. Voir plus bas la liste de style définissables.
  • foreground : définir la couleur du texte. Pour la valeur, vous pouvez indiquer une valeur hexadécimale : #000000 , ou bien un nom donné à une couleur (voir ci-dessus la balise couleur).
  • background : définir la couleur du fond. Vous pouvez indiquer une couleur de la même façon que pour foreground.
  • line-background : Ce paramètre semble identique à background à première vue.

Liste des styles

Un style est défini au paramètre name. Cette section va tenter de lister toutes les possibilités existantes. Cette section est à compléter. FIXME

Les styles de base, applicables partout
  • text : Désigne le texte en général.
  • selection : Désigne le texte sélectioné (surligué avec le curseur)
  • selection-unfocused : Lorsque vous quittez la fenêtre de gEdit où vous avez sélectionné un texte, vous pouvez appliquer des effets à la sélection de sorte à voir ce que vous aviez sélectionner avant de regarder ailleurs. Sinon, les valeurs adoptées seront celles de selection.
  • current-line : gEdit propose de mettre en valeur la ligne où se trouve le curseur (voir Préférences). current-line définit les effets appliqués sur cette ligne.
  • line-number : gEdit propose d'afficher une colonne indiquant les numéros de ligne (voir Préférences). line-number définit les effets appliqués à cette colonne. Les effets de texte tels bold ou underline ne fonctionnent pas.
  • cursor : Définit les propriétés du curseur. Les effets de texte tels bold ou underline ne fonctionnent pas.
  • secondary-cursor : Il semblerait que cette fonctionnalité soit utilisée pour certaines langues, par exemple pour écrire en chinois une zone de préédition apparait en créant un deuxième curseur. Vous pouvez colorer secondary-cursor d'une couleur différente de cursor, les propriétés des deux styles étant les mêmes.
  • bracket-match : gEdit propose, lorsque vous avez un duo de parenthèse et que vous mettez votre curseur sur une des parenthèses, de mettre en valeur l'autre parenthèse.
  • bracket-mismatch : Cette fonctionnalité n'a pas encore été implanté dans gEdit. Le principe étant de montrer les erreurs de parenthésage, par exemple (] où le crochet prend la place d'une parenthèse fermée.
  • search-match : Lors d'une recherche, plusieurs termes sont colorées : un qui est sélectionné, les autres qui ne le sont pas. search-match vous permet d'appliquer des effets sur ces termes.
Les styles propres aux langages de programmation

Dans gEdit, chaque langage possède son propre fichier de spécification, ce qui est tant mieux pour savoir quels sont les mots à considérer comme étant un commentaire, une variable, etc. Un truc sympa, les langages ont été définis en utilisant les mêmes mots-clés :) Ce qui nous permet de regarder directement dans un fichier de spécification la grande majorité des styles et surtout quel style fait quoi. En attendant la liste des noms de style dans cet article, vous pouvez regarder dans les fichiers de spécification (des fichiers de xml en .lang).

nautilus /usr/share/gtksourceview-2.0/language-specs  

Ce qui devrait vous donner une idée globale des styles utilisables.

Regardez également ci-après pour encore plus de combinaisons FIXME

Des catégories de style

gEdit est surtout destiné à éditer des fichiers de programmation, et de ce fait peut appliquer à un même style plusieurs effets différents selon le langage utilisé. Si vous ne pensez pas utiliser d'effets différents à un style, vous pouvez définir les effets liés à un style comme suit :

<style name="text" foreground="noir" background="blanc" />

le style text sera le même pour tous. Cependant, pour indiquer un style différent pour un langage en particulier, il suffit d'indiquer dans le nom les initiales du langage utilisé suivi du style, par exemple pour le langage C :

<style name="c:variable" foreground="rose"/>

Lorsque vous ouvrirez un fichier contenant du code écrit en C, les variables prendront une couleur "rose" (si vous l'avez définie). Pour les autres couleurs, il vaut mieux laisser une valeur par défaut :

<style name="def:variable" foreground="jaune"/>

Si vous avez défini une couleur "jaune", les variables dans n'importe quel langage s'afficheront en "jaune".

  • creer_un_jeu_de_couleurs_pour_gedit.1255171913.txt.gz
  • Dernière modification: Le 10/10/2009, 12:51
  • par Zarmakuizz