23.3. Exemple de fichier rc
# -*- coding:utf-8 -*-
# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..."
#
pixmap_path "/usr/include/X11R6/pixmaps:/home/images/pixmaps"
#
# style <name> [= <name>]
# {
# <option>
# }
#
# widget <widget_set> style <style_name>
# widget_class <widget_class_set> style <style_name>
# Voici la liste de tous les états possibles.
# Certains ne s'appliquent pas à tous les widgets
#
# 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.
#
# À partir de ces états, on peut définir les attributs des widgets pour
# chacun d'eux avec les commandes suivantes :
#
# fg - indique la couleur de premier plan d'un widget.
# fg - indique la couleur d'arrière-plan d'un widget.
# bg_pixmap - l'arrière plan du widget est une image en mosaïque.
# font - définit la police utilisée avec ce widget.
#
# Ceci crée un style appelé "button". Le nom n'a pas réellement
# d'importance, il est assigné aux widgets en cours à la fin du fichier.
style "window"
{
# Ceci remplit l'espacement autour de la fenêtre avec l'image indiquée.
#bg_pixmap[<STATE>] = "<pixmap filename>"
bg_pixmap[NORMAL] = "warning.xpm"
}
style "scale"
{
# Donne la valeur rouge à la couleur de premier plan (la couleur
# de police) dans l'état "NORMAL".
fg[NORMAL] = { 1.0, 0, 0 }
# Donne à ce widget la même image de fond que celle de son parent.
bg_pixmap[NORMAL] = "<parent>"
}
style "button"
{
# Ceci montre tous les états possibles d'un bouton. Le seul
# qui ne s'applique pas dans ce cas est l'état "SELECTED".
fg[PRELIGHT] = { 0, 1.0, 1.0 }
bg[PRELIGHT] = { 0, 0, 1.0 }
bg[ACTIVE] = { 1.0, 0, 0 }
fg[ACTIVE] = { 0, 1.0, 0 }
bg[NORMAL] = { 1.0, 1.0, 0 }
fg[NORMAL] = { .99, 0, .99 }
bg[INSENSITIVE] = { 1.0, 1.0, 1.0 }
fg[INSENSITIVE] = { 1.0, 0, 1.0 }
}
# Dans cet exemple, le style "main_button" hérite des attributs
# du style "button" et ensuite, on remplace les couleurs de police
# et d'arrière-plan de l'état "PRELIGHT"
style "main_button" = "button"
{
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
bg[PRELIGHT] = { 0.75, 0, 0 }
}
style "toggle_button" = "button"
{
fg[NORMAL] = { 1.0, 0, 0 }
fg[ACTIVE] = { 1.0, 0, 0 }
# Ceci définit comme image d'arrière-plan du bouton à bascule, celle
# de son parent (tel qu'il est défini dans l'application).
bg_pixmap[NORMAL] = "<parent>"
}
style "text"
{
bg_pixmap[NORMAL] = "marble.xpm"
fg[NORMAL] = { 1.0, 1.0, 1.0 }
}
style "ruler"
{
font = "-adobe-helvetica-medium-r-normal--*-80-*-*-*-*-*-*"
}
# pixmap_path "~/.pixmaps"
# Les lignes suivantes indiquent aux widgets d'utiliser les styles
# définis ci-dessus.
# Les types de widget sont énumérés dans la hiérarchie des classes,
# mais on pourrait aussi les rappeler dans ce document pour servir
# de référence aux utilisateurs.
widget_class "GtkWindow" style "window"
widget_class "GtkDialog" style "window"
widget_class "GtkFileSelection" style "window"
widget_class "*Gtk*Scale" style "scale"
widget_class "*GtkCheckButton*" style "toggle_button"
widget_class "*GtkRadioButton*" style "toggle_button"
widget_class "*GtkButton*" style "button"
widget_class "*Ruler" style "ruler"
widget_class "*GtkText" style "text"
# Cette ligne donne à tous les boutons, enfants de la fenêtre
# principale ("main window"), le style main_button. Ceux-ci doivent
# être renseignés pour en profiter.
widget "main window.*GtkButton*" style "main_button"