El formato del fichero rc se muestra en el siguiente ejemplo. Éste es el fichero
testgtkrc de la distribución GTK+, pero se le han añadido
unos algunos comentarios y cosas varias. Se puede incluir esta explicación en
los programas para permitir al usuario afinar su aplicación.
Existen varias directivas para modificar los atributos de un control.
fg - Cambia el color de frente de un control.
bg - Cambia el color de fondo de un control.
bg_pixmap - Cambia el fondo de un control aun mosaico según el pixmap dado.
font - Cambia la fuente que usará el control.
Además de estas propiedades también existen varios estados en los que puede encontrarse un control y se pueden cambiar los diferentes colores, pixmaps y fuentes de cada estado. Estos estados son:
NORMAL (Normal) | El estado normal de un control, sin que el ratón esté encima de él, sin que haya sido pulsado, etc. |
PRELIGHT (Preiluminado) | Cuando el ratón está encima del control, los colores definidos en este estado tendrán efecto. |
ACTIVE (Activo) | Cuando el control está presionado o se ha hecho clic en él estará activo y los atributos asignados con este valor tendrán efecto. |
INSENSITIVE (Insensible) | Cuando un control está insensible, y no puede ser activado, tendrá estos atributos. |
SELECTED (Seleccionado) | Cuando un objeto está seleccionado se usan estos atributos. |
Cuando se usan las palabras "fg" y "bg" para modificar los colores de los controles, el formato es:
fg[<STATE>] = { Rojo, Verde, Azul }
Donde STATE es uno de los estados anteriores
(PRELIGHT, ACTIVE, etc), y Rojo,
Verde y Azul son valores en el rango de
0 - 1.0, siendo { 1.0, 1.0, 1.0 } el blanco. Deben estar en formato float
(decimal), o se les asignará 0. Por tanto, un simple "1" no es correcto, debe
ser "1.0". Un simple "0" funciona, ya que los valores no reconocidos
se establecen como 0.
bg_pixmap es muy similar al anterior excepto que
los colores se sustituyen por un nombre de fichero.
pixmap_path es una lista de rutas separadas por
":". Cuando se especifique un pixmap, se buscará en esta lista.
La directiva "font" (fuente) es muy sencilla:
font = "<font name>"
Lo único dificil es saber la cadena de la fuente font. Y, para ello,
el programa xfontsel o una utilidad similar puede ser de gran ayuda.
La directiva "widget_class" determina el estilo de una clase de controles. Estas clases se enumeran en el resumen general de controles en la jerarquía de clases.
La directiva "widget" determina el estilo de un conjunto de controles
con un nombre específico, reemplazando cualquier otro estilo de la clase del control
en cuestión. Estos controles se registran en la aplicación usando el método
set_name() . Esto permite cambiar los atributos de
un control para cada control concreto, en vez de especificar los atributos
de toda su clase. Se recomienda documentar todos los controles especiales
para que los usuarios puedan personalizarlos.
Si se usa la palabra parent (padre) como
atributo el control usará los atributos de su padre en la aplicación.
Al definir un estilo, se pueden asignar los atributos de un estilo definido previamente al estilo actual.
style "main_button" = "button"
{
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
bg[PRELIGHT] = { 0.75, 0, 0 }
}
Este ejemplo usa el estilo "button", y crea un nuevo estilo "main_button" cambiando simplemente la fuente y el color de fondo del estado preiluminado del estilo "button" (botón).
Por supuesto, muchos de estos atributos no funcionan con todos los controles. Es sólo cuestión de sentido común. Todo lo que podría ser de aplicación, debería funcionar.