Le format du fichier rc GTK+ est illustré dans la
Section 23.3, « Exemple de fichier rc » ci-dessous. C'est le fichier
testgtkrc
de la distribution GTK+, avec quelques
commentaires et ajouts. Il est possible d'ajouter cette explication
dans son application pour permettre à l'utilisateur de parfaire ses réglages.
Plusieurs commandes permettent de modifier les attributs d'un widget.
fg
- Définit la couleur de premier plan d'un widget.
bg
- Définit la couleur d'arrière-plan d'un widget.
bg_pixmap
- Compose l'arrière-plan d'un widget avec
un pixmap en mosaïque.
font
- Définit la police utilisée pour le widget indiqué.
De plus, un widget possède plusieurs états, il est possible de définir différentes couleurs, mosaïques de pixmap et polices pour chaque état. Ces états sont les suivants :
NORMAL | L'état normal d'un widget, la souris n'est pas au-dessus, il n'est pas enfoncé, etc. |
PRELIGHT | Lorsque le widget est survolé par la souris, les couleurs définies pour cet état seront utilisées. |
ACTIVE | Lorsque le widget est cliqué ou enfoncé, il devient actif et les attributs définis pour cet état seront utilisés. |
INSENSITIVE | Lorsqu'un widget est marqué "insensible", et ne peut être activé, il prendra ces attributs |
SELECTED | Quand un objet est sélectionné, il prend ces attributs. |
Quand on utilise les mots-clé "fg" et "bg" pour définir les couleurs des widgets, il faut respecter ce format :
fg[<STATE>] = { Rouge, Vert, Bleu }
... où STATE
est un des états ci-dessus
(PRELIGHT, ACTIVE, etc), Rouge
,
Vert
et Bleu
sont des valeurs
dans l'intervalle 0 - 1.0 ; {1.0,1.0,1.0} est le blanc. Elles
doivent être au format décimal, sinon leur valeur est mise à 0,
ainsi un simple "1" n'est pas correct, ce doit être "1.0".
Un simple "0" fonctionne parce que les valeurs non reconnues sont mises à 0.
Le paramètre bg_pixmap
est très semblable
au précédent, mais les couleurs sont remplacées par un nom de fichier.
pixmap_path
est une liste de chemins séparés par
un ":". Ces chemins sont ceux où seront recherchés les pixmaps indiqués.
La commande "font" est simple :
font = "<font name>"
La partie la plus difficile est de trouver le contenu de la chaîne
font
.
Utiliser le programme xfontsel ou un utilitaire équivalent
devrait faciliter la tâche.
La commande "widget_class" définit le style d'une classe de widgets. Ces classes sont énumérées dans la Section 5.1, « Hiérarchie des widgets » de la vue d'ensemble des widgets.
La commande "widget" applique un style donné à un ensemble de widgets portant
un nom spécifique, quel que soit le style normal de cette classe de widgets.
Ces widgets sont enregistrés dans l'application avec la methode
set_name
(). Ceci permet de modifier les
attributs d'un widget au coup par coup plutôt que de définir les attibuts
d'une toute une classe de widgets. Je vous recommande de documenter
chacun de ces widgets spécifiques, permettant ainsi à l'utilisateur
de les personnaliser.
Quand on utilise le mot-clé parent
comme
attribut, le widget utilise les attributs de son parent dans l'application.
Lorsqu'on définit un style, on peut attribuer les éléments d'un style déjà défini à ce nouveau style.
style "main_button" = "button" { font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*" bg[PRELIGHT] = { 0.75, 0, 0 } }
Cet exemple utilise le style "button" et crée un nouveau style "main_button" simplement en modifiant la police et la couleur d'arrière-plan de l'état préselectionné (PRELIGHT) du style "button".
Naturellement, beaucoup de ces attributs ne s'appliquent pas à tous les widgets. C'est une simple question de bon sens. Ce qui peut s'appliquer devrait fonctionner.