Apéndice D Opciones y Recursos de X
Puede personalizar algunos aspectos del comportamiento de Emacs relacionados con X usando recursos X, como es habitual en los programas que usan X.
Cuando Emacs se compila con soporte GTK+, la apariencia de varios widgets gráficos, como la barra de menú, la barra de desplazamiento y los cuadros de diálogo, viene determinada por los recursos GTK+, que también describiremos. Cuando Emacs se construye sin soporte GTK+, la apariencia de estos widgets está determinada por recursos X adicionales.
En MS-Windows, puedes personalizar algunos de los mismos aspectos usando el registro del sistema (ver El registro del sistema MS-Windows).
D.1 Recursos X
Los programas que se ejecutan bajo el Sistema X Window organizan sus opciones de Usuario bajo una jerarquía de clases y recursos. Usted puede especificar valores por defecto para estas opciones en su archivo de recursos X, usualmente llamado ~/.Xdefaults
o ~/.Xresources
. Los cambios en este archivo no tienen efecto inmediato, porque el servidor X almacena su propia lista de recursos; para actualizarla, utilice el comando xrdb
, por ejemplo, xrdb ~/.Xdefaults
.
Las configuraciones especificadas a través de los recursos X en general anulan las configuraciones equivalentes en los archivos init de Emacs (véase 50.4. El Archivo de Inicialización de Emacs), en particular para los parámetros del marco inicial (véase 22.11 Parámetros de Marco).
(Los sistemas MS-Windows no soportan archivos de recursos X; en tales sistemas, Emacs busca recursos X en el Registro de Windows, primero bajo la clave HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs
, que afecta sólo al Usuario actual y anula la configuración de todo el sistema, y luego bajo la clave HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs
, que afecta a todos los Usuarios del sistema. El menú y las barras de desplazamiento son widgets nativos de MS-Windows, por lo que sólo se pueden personalizar a través de la configuración de todo el sistema en el Panel de Control de Pantalla. También puede configurar los recursos mediante la opción de línea de comandos -xrm
, como se explica a continuación).
Cada línea del archivo de recursos X especifica un valor para una opción o para un conjunto de opciones relacionadas. El orden en que aparecen las líneas en el archivo no importa. Cada especificación de recurso consiste en un nombre de programa y un nombre de recurso. La distinción entre mayúsculas y minúsculas es importante en cada uno de estos nombres. He aquí un ejemplo:
emacs.cursorColor: dark green
El nombre del programa es el nombre del archivo ejecutable al que se aplica el recurso. Para Emacs, normalmente es emacs
. Para especificar una definición que se aplique a todas las instancias de Emacs, independientemente del nombre del ejecutable de Emacs, utilice Emacs
.
El nombre del recurso es el nombre de un ajuste del programa. Por ejemplo, Emacs reconoce un recurso cursorColor
que controla el color del cursor de texto.
Los recursos se agrupan en clases con nombre. Por ejemplo, la clase Foreground
contiene los recursos cursorColor
, foreground
y pointerColor
(ver D.2 Tabla de Recursos X para Emacs). En lugar de utilizar un nombre de recurso, puede utilizar un nombre de clase para especificar el valor por defecto para todos los recursos de esa clase, de esta manera:
emacs.Foreground: dark green
Emacs no procesa los recursos X en absoluto si establece la variable inhibit-x-resources
a un valor no nulo. Si invoca Emacs con la opción de línea de comandos -Q
(o --quick
), inhibit-x-resources
se establece automáticamente a t
(ver C.2 Opciones Iniciales).
Además, puede utilizar las siguientes opciones de línea de comandos para anular el archivo de recursos X:
-name nombre
--name=nombre
Esta opción establece el nombre del programa del marco inicial de Emacs a nombre. También establece el título del marco inicial a nombre. Esta opción no afecta a los marcos posteriores.
Si no se especifica esta opción, por defecto se utiliza el nombre del ejecutable de Emacs como nombre del programa.
Por coherencia,
-name
también especifica el nombre a utilizar para otros valores de recursos que no pertenecen a ningún marco en particular.Los recursos que nombran invocaciones Emacs también pertenecen a una clase, llamada
Emacs
. Si escribeEmacs
en lugar deemacs
, el recurso se aplica a todos los marcos de todos los trabajos Emacs, independientemente de los títulos de los marcos y del nombre del fichero ejecutable.
-xrm recurso-valor
--xrm=recurso-valor
Esta opción especifica valores de recursos X para el trabajo Emacs actual.
resource-value debe tener el mismo formato que usaría dentro de un fichero de recursos X. Varias opciones
-xrm
son posibles para incluir múltiples especificaciones de recursos. También puede usar#include "nombre-de-archivo"
como recurso-valor para incluir un archivo lleno de especificaciones de recursos. Los valores de recursos especificados con-xrm
tienen prioridad sobre todas las demás especificaciones de recursos.
D.2 Tabla de Recursos X para Emacs
La siguiente tabla lista los nombres de recursos X que Emacs reconoce. Tenga en cuenta que algunos de los recursos no tienen efecto en Emacs compilado con varios kits de herramientas X (GTK+, Lucid, etc.) - indicamos más abajo cuando este es el caso.
alpha
(classAlpha
)Establece el parámetro de marco
alpha
, determinando la transparencia del marco (ver Parámetros de Marco en el Manual de Referencia de Emacs Lisp).alphaBackground
(classAlphaBackground
)Establece el parámetro de marco
alpha-background
, determinando la transparencia del fondo (ver Parámetros de Marco en el Manual de Referencia de Emacs Lisp).background
(classBackground
)Color de fondo (véase 15.9 Colores de las Caras).
bitmapIcon
(classBitmapIcon
)Indica al gestor de ventanas que muestre el icono de Emacs si está
on
; que no lo muestre si estáoff
. Ver C.11 Íconos, para una descripción del icono.borderColor
(classBorderColor
)Color del borde externo del marco. Esto no tiene efecto si Emacs está compilado con soporte GTK+.
borderWidth
(classBorderWidth
)Ancho del borde externo del marco, en píxeles. Esto no tiene efecto si Emacs está compilado con soporte GTK
cursorBlink
(classCursorBlink
)Si el valor de este recurso es
off
ofalse
o0
al inicio, Emacs desactiva el modo Cursor parpadeante (ver 15.21 Visualización del Cursor).cursorColor
(classForeground
)Color del cursor de texto. Si este recurso se especifica cuando Emacs se inicia, Emacs establece su valor como el color de fondo de la cara del cursor (ver 15.8. Caras de Texto).
font
(classFont
)Nombre de la fuente por defecto (ver 22.8 Fuentes). También puede especificar un nombre de conjunto de fuentes (véase 23.14 Conjunto de fuentes (fontsets)).
fontBackend
(classFontBackend
)Lista delimitada por comas de backend(s) [1] a usar para dibujar fuentes, en orden de precedencia. Por ejemplo, el valor
x
,xft
le dice a Emacs que dibuje las fuentes usando el controlador de fuentes del núcleo X, recurriendo al controlador de fuentes Xft si falla. Normalmente, deberías dejar este recurso sin configurar, en cuyo caso Emacs intenta usar todos los backends de fuentes disponibles.foreground
(classForeground
)Color de primer plano por defecto para el texto.
fullscreen
(classFullscreen
)El tamaño de pantalla completa deseado. El valor puede ser
fullboth
,maximized
,fullwidth
ofullheight
, que corresponden a las opciones de línea de comandos-fs
,-mm
,-fw
, y-fh
(ver C.8 Opciones para el Tamaño y la Posición de la Ventana). Tenga en cuenta que esto sólo se aplica al marco inicial.geometry
(classGeometry
)Tamaño y posición de la ventana. El valor debe ser una especificación de tamaño y posición, de la misma forma que en la opción de línea de comandos
-g
o--geometry
(ver C.8 Opciones para el Tamaño y la Posición de la Ventana).El tamaño se aplica a todos los marcos de la sesión Emacs, pero la posición se aplica sólo al marco Emacs inicial (o, en el caso de un recurso para un nombre de marco específico, sólo a ese marco).
Tenga cuidado de no especificar este recurso como
emacs*geometryf
, ya que podría afectar a menús individuales así como al marco principal de Emacs.horizontalScrollBars
(classScrollBars
)Si el valor de este recurso es
off
ofalse
o0
, Emacs desactiva el modo Barra de desplazamiento horizontal al inicio (ver 22.12. Barras de Desplazamiento).iconName
(classTitle
)Nombre a mostrar en el icono.
internalBorder
(classBorderWidth
)Ancho del borde interno del marco, en píxeles.
lineSpacing
(classLineSpacing
)Espacio adicional entre líneas, en píxeles.
menuBackground
(classBackground
)Color de fondo de los menús en versiones no toolkit de Emacs. (Para las versiones con toolkit, véase D.3 Menú Lucid y Recursos X de Diálogo, también véase D.4 Recursos X del Menú Motif, y D.5 Recursos GTK).
menuBar
(classMenuBar
)Si el valor de este recurso es
off
ofalse
o0
, Emacs desactiva el modo Barra de Menú al inicio (ver 22.15 Barras de Menús).minibuffer
(classMinibuffer
)Si es “none”, Emacs no hará un minibuffer en este marco; en su lugar usará un marco de minibuffer separado.
paneFont
(classFont
)Nombre de fuente para los títulos de los paneles de menú, en versiones de Emacs que no sean toolkit. (Para las versiones con toolkit, véase D.3 Menú Lucid y Recursos X de Diálogo, también véase D.4 Recursos X del Menú Motif, y D.5 Recursos GTK).
paneForeground
(classForeground
)Color de primer plano para los títulos de los paneles de menú, en versiones de Emacs sin toolkit. (Para las versiones con toolkit, véase D.3 Menú Lucid y Recursos X de Diálogo, también véase D.4 Recursos X del Menú Motif, y D.5 Recursos GTK).
pointerColor
(classForeground
)Color del cursor del ratón. Esto no tiene efecto en muchos entornos gráficos de escritorio, ya que no permiten a Emacs cambiar el cursor del ratón de esta manera.
privateColormap
(classPrivateColormap
)Si
on
, usa un mapa de color privado, en el caso de que el visual por defecto de la clase PseudoColor y Emacs lo esté usando.reverseVideo
(classReverseVideo
)Cambia los colores de primer plano y fondo por defecto si está
on
, usa los colores especificados si estáoff
.screenGamma
(classScreenGamma
)Corrección gamma de los colores, equivalente al parámetro de trama
screen-gamma
.scrollBar
(classScrollBar
)Si el valor de este recurso es
off
ofalse
o0
, Emacs desactiva el modo Barra de desplazamiento al inicio (ver 22.12. Barras de Desplazamiento).scrollBarWidth
(classScrollBarWidth
)El ancho de la barra de desplazamiento en píxeles, equivalente al parámetro de marco
scroll-bar-width
. No establezca este recurso si Emacs está compilado con soporte GTK+.selectionFont
(classSelectionFont
)Nombre de fuente para los elementos del menú emergente, en versiones de Emacs que no sean toolkit. (Para versiones con toolkit, véase D.3 Menú Lucid y Recursos X de Diálogo, también véase D.4 Recursos X del Menú Motif, y D.5 Recursos GTK).
selectionForeground
(classSelectionForeground
)Color de primer plano para los elementos del menú emergente, en versiones de Emacs sin toolkit. (Para las versiones con toolkit,véase D.3 Menú Lucid y Recursos X de Diálogo, también véase D.4 Recursos X del Menú Motif, y D.5 Recursos GTK).
selectionTimeout
(classSelectionTimeout
)Número de milisegundos que hay que esperar para recibir una respuesta de la selección. Si el propietario de la selección no responde en este tiempo, nos damos por vencidos. Un valor de 0 significa esperar tanto como sea necesario.
synchronous
(classSynchronous
)Ejecuta Emacs en modo síncrono si está
on
. El modo síncrono es útil para depurar problemas de X.title
(classTitle
)Nombre a mostrar en la barra de título del marco inicial de Emacs.
toolBar
(classToolBar
)Si el valor de este recurso es
off
ofalse
o0
, Emacs desactiva el modo Barra de herramientas al inicio (ver 22.12. Barras de Desplazamiento).tabBar
(classTabBar
)Si el valor de este recurso es
on' o ``yes
o1
, Emacs activa el modo Barra de Tabuladores al inicio (ver 22.16. Barras de Herramientas).useXIM
(classUseXIM
)Desactiva el uso de métodos de entrada X (XIM) si es
false
ooff
. Esto sólo es relevante si tu Emacs está construido con soporte XIM. Puede ser útil desactivar XIM en enlaces cliente/servidor X lentos.inputStyle
(classInputStyle
)Este recurso controla cómo se muestra el texto de previsualización generado por los métodos de entrada X. Su valor puede ser uno de los siguientes:
callback
Muestra el contenido del texto de previsualización en el búfer actual.
offthespot
Muestra el texto de previsualización dentro de un área separada de la pantalla proporcionada por Emacs.
overthespot
Muestra el texto de previsualización dentro de una ventana emergente en la ubicación del punto en la ventana actual.
none
Deja que el método de entrada decida cómo mostrarse. Esto suele ser equivalente a
overthespot
, pero podría funcionar con más métodos de entrada.native
Utiliza el kit de herramientas para manejar métodos de entrada. Actualmente esto sólo está implementado en GTK.
root
Utiliza alguna ubicación en pantalla específica del método de entrada para mostrar el texto de previsualización.
synchronizeResize
(classSynchronizeResize
)Si está
off
ofalse
, Emacs no intentará decirle al gestor de ventanas cuándo ha terminado de redibujar la pantalla en respuesta al redimensionamiento de un marco. En caso contrario, el gestor de ventanas pospondrá el dibujo de un marco que acaba de ser redimensionado hasta que se actualice su contenido, lo que evita que se muestren áreas en blanco de un marco que aún no han sido pintadas. Si se establece aextended
, habilitará el uso de un protocolo alternativo de sincronización de marcos, que podría ser soportado por algunos gestores de ventanas de composición que no soportan el protocolo que Emacs usa por defecto, y hace que el Editor sincronice la visualización con la tasa de refresco del monitor cuando se está usando un gestor de ventanas de composición compatible.verticalScrollBars
(classScrollBars
)Da a los marcos barras de desplazamiento a la izquierda si es
left
, a la derecha: si esright
; no tener barras de desplazamiento si esoff
(desactivado) (ver 22.12. Barras de Desplazamiento).visualClass
(classVisualClass
)La clase visual para la visualización en color X. Si se especifica, el valor debe empezar por uno de los siguientes:
TrueColor
,PseudoColor
,DirectColor
,StaticColor
,GrayScale
yStaticGray
, seguido de-depth
(profundidad, hace referencia a las capas o planos de oclor), donde depth es el número de planos de color.
También puedes usar recursos X para personalizar caras Emacs individuales (ver 15.8. Caras de Texto). Por ejemplo, establecer el recurso face.attributeForeground
equivale a personalizar el atributo foreground
de la cara. Sin embargo, recomendamos personalizar las caras desde dentro de Emacs, en lugar de usar recursos X. Véase 50.1.5. Personalización de Caras.
D.5 Recursos GTK
Si Emacs está compilado con soporte para el toolkit (caja de herramientas) GTK+, la forma más sencilla de personalizar sus widgets (miniaplicaciones) GTK+ (por ejemplo, menús, diálogos, barras de herramientas y barras de desplazamiento) es elegir un tema GTK+ apropiado, por ejemplo con el selector de temas de GNOME.
En la versión 2 de GTK+, también puede usar recursos GTK+ para personalizar la apariencia de los widgets GTK+ usados por Emacs. Estos recursos se especifican en el archivo ~/.emacs.d/gtkrc
(para recursos GTK+ específicos de Emacs), o ~/.gtkrc-2.0
(para recursos GTK+ generales). Recomendamos usar ~/.emacs.d/gtkrc
, ya que GTK+ parece ignorar ~/.gtkrc-2.0
cuando se ejecuta GConf con GNOME. Tenga en cuenta, sin embargo, que algunos temas GTK+ pueden anular las personalizaciones en ~/.emacs.d/gtkrc
; no hay nada que podamos hacer al respecto. Los recursos GTK+ no afectan a los aspectos de Emacs no relacionados con los widgets GTK+, como las fuentes y los colores en la ventana principal de Emacs; estos se rigen por los recursos X normales (ver D.1 Recursos X).
Las siguientes secciones describen cómo personalizar los recursos GTK+ para Emacs. Para más detalles sobre los recursos GTK+, consulta el documento de la API GTK+ en https://developer-old.gnome.org/gtk2/stable/gtk2-Resource-Files.html.
En la versión 3 de GTK+, los recursos GTK+ han sido reemplazados por un sistema completamente diferente. La apariencia de los widgets GTK+ viene ahora determinada por archivos de estilo tipo CSS: gtk-3.0/gtk.css
en el directorio de instalación de GTK+, y ~/.themes/theme/gtk-3.0/gtk.css
para la configuración de estilo local (donde theme es el nombre del tema GTK+ actual). Por lo tanto, la descripción de los recursos GTK+ en esta sección no se aplica a GTK+ 3. Para obtener más información sobre el sistema de estilos de GTK+ 3, consulte https://developer-old.gnome.org/gtk3/3.0/GtkCssProvider.html.
D.5.1 Conceptos Básicos de los Recursos GTK
En un archivo de recursos GTK+ 2 (normalmente ~/.emacs.d/gtkrc
), el tipo más simple de configuración de recursos simplemente asigna un valor a una variable. Por ejemplo, poner la siguiente línea en el archivo de recursos cambia la fuente en todos los widgets GTK+ a courier-12
:
gtk-font-name = "courier 12"
Tenga en cuenta que en este caso el nombre de la fuente debe suministrarse como un patrón de fuente GTK (también llamado nombre de fuente Pango), no como un nombre de fuente estilo Fontconfig o XLFD. Véase 22.8 Fuentes.
Para personalizar los widgets (aplicaciones chiquitas) primero se define un estilo, y luego se aplica el estilo a los widgets. He aquí un ejemplo que establece el tipo de letra para los menús (los caracteres #
indican comentarios):
# Define el estilo ‘mi_stilo’.
style "my_style"
{
font_name = "helvetica bold 14"
}
# Especifica el tipo de widget ‘*emacs-menuitem*’ usa ‘mi_stilo’.
widget "*emacs-menuitem*" style "my_style"
El nombre del widget en este ejemplo contiene comodines, por lo que el estilo se aplica a todos los widgets que coincidan con *emacs-menuitem*
. Los widgets se nombran por la forma en que están contenidos, desde el widget exterior al interior. Aquí hay otro ejemplo que aplica mi_estilo
específicamente a la barra de menú de Emacs:
widget "Emacs.pane.menubar.*" style "mi_estilo"
He aquí un ejemplo más elaborado, que muestra cómo cambiar las partes de la barra de desplazamiento:
style "scroll"
{
fg[NORMAL] = "red" # Color de la flecha.
bg[NORMAL] = "yellow" # Margen y fondo alrededor de la flecha.
bg[ACTIVE] = "blue" # Color del Canal.
bg[PRELIGHT] = "white" # Color del umbral cuando el ratón está sobre él.
}
widget "*verticalScrollBar*" style "scroll"
D.5.2 Nombres de widgets (miniaplicaciones) GTK
Un widget GTK+ se especifica mediante un nombre de widget y una clase de widget. El nombre del widget se refiere a un widget específico (por ejemplo, emacs-menuitem
), mientras que la clase widget se refiere a una colección de widgets similares (por ejemplo, GtkMenuItem
). Un widget siempre tiene una clase, pero no necesita tener un nombre.
Los nombres absolutos son secuencias de nombres de widgets o clases de widgets, que corresponden a jerarquías de widgets incrustados dentro de otros widgets. Por ejemplo, si una GtkWindow
llamada top
contiene una GtkVBox
llamada box
, que a su vez contiene una GtkMenuBar
llamada menubar
, el nombre absoluto de clase del widget de la barra de menú es GtkWindowx.GtkVBox.GtkMenuBar
, y su nombre absoluto de widget es top.box.menubar
.
Los archivos de recursos GTK+ pueden contener dos tipos de comandos para especificar la apariencia de los widgets:
widget
Especifica un estilo para los widgets basado en el nombre de la clase, o sólo en la clase.
widget_class
Especifica un estilo para los widgets basado en el nombre de la clase.
Consulte la subsección anterior para ver ejemplos de uso del comando widget; el comando widget_class
se utiliza de forma similar. Tenga en cuenta que el nombre/clase del widget y el estilo deben ir entre comillas dobles, y que estos comandos deben estar en el nivel superior del archivo de recursos GTK+.
Como se ha indicado anteriormente, puede especificar un nombre o clase de widget con la sintaxis de comodín del shell: *
coincide con cero o más caracteres y ?
coincide con un carácter. Este ejemplo asigna un estilo a todos los widgets:
widget "*" style "mi_stilo"
D.5.3 Nombres de widgets GTK+ en Emacs
Los widgets GTK+ utilizados por un marco Emacs se listan a continuación:
Emacs (class GtkWindow)
pane (class GtkVBox)
menubar (class GtkMenuBar)
[menu item widgets]
[unnamed widget] (class GtkHandleBox)
emacs-toolbar (class GtkToolbar)
[tool bar item widgets]
emacs (class GtkFixed)
verticalScrollBar (class GtkVScrollbar)
El contenido de las ventanas Emacs se dibuja en el widget emacs. Tenga en cuenta que aunque haya varias ventanas Emacs, cada widget de barra de desplazamiento se llama verticalScrollBar
.
Por ejemplo, aquí hay dos formas diferentes de establecer el estilo de la barra de menú:
widget "Emacs.pane.menubar.*" style "my_style"
widget_class "GtkWindow.GtkVBox.GtkMenuBar.*" style "my_style"
Para los diálogos GTK+, Emacs usa un widget llamado emacs-dialog
, de la clase GtkDialog
. Para la selección de ficheros, Emacs usa un widget llamado emacs-filedialog
, de la clase GtkFileSelection
.
Debido a que los widgets para menús emergentes y diálogos son ventanas independientes y no están contenidas en el widget Emacs, sus nombres absolutos GTK+ no empiezan por Emacs
. Para personalizar estos widgets, utilice comodines como estos:
widget "*emacs-dialog*" style "mi_estilo_de_dialogo"
widget "*emacs-filedialog* style "mi_estilo_de_archivo"
widget "*emacs-menuitem* style "mi_estilo_de_menu"
Si quiere aplicar un estilo a todos los menús de Emacs, use esto:
widget_class "*Menu*" style "mi_estilo_de_menu"
D.5.4 Estilos GTK+
He aquí un ejemplo de dos declaraciones de estilo GTK+:
pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
style "default"
{
font_name = "helvetica 12"
bg[NORMAL] = { 0.83, 0.80, 0.73 }
bg[SELECTED] = { 0.0, 0.55, 0.55 }
bg[INSENSITIVE] = { 0.77, 0.77, 0.66 }
bg[ACTIVE] = { 0.0, 0.55, 0.55 }
bg[PRELIGHT] = { 0.0, 0.55, 0.55 }
fg[NORMAL] = "black"
fg[SELECTED] = { 0.9, 0.9, 0.9 }
fg[ACTIVE] = "black"
fg[PRELIGHT] = { 0.9, 0.9, 0.9 }
base[INSENSITIVE] = "#777766"
text[INSENSITIVE] = { 0.60, 0.65, 0.57 }
bg_pixmap[NORMAL] = "background.xpm"
bg_pixmap[INSENSITIVE] = "background.xpm"
bg_pixmap[ACTIVE] = "background.xpm"
bg_pixmap[PRELIGHT] = "<none>"
}
style "ruler" = "default"
{
font_name = "helvetica 8"
}
El estilo ruler
hereda de default
. De este modo, puede basarse en estilos existentes. La sintaxis para fuentes y colores se describe a continuación.
Como muestra este ejemplo, es posible especificar varios valores para el primer plano y el fondo dependiendo del estado del widget. Los estados posibles son:
NORMAL
Este es el estado por defecto para los widgets.
ACTIVE
(activo)Este es el estado de un widget que está listo para hacer algo. También es para la barra de desplazamiento, por ejemplo,
bg[ACTIVE] = "red"
pone la barra de desplazamiento en rojo. Los botones que han sido armados (pulsados pero no soltados todavía) están en este estado.PRELIGHT
(campos seleccionados no clicados)Este es el estado para un widget que puede ser manipulado, cuando el puntero del ratón está sobre él, por ejemplo cuando el ratón está sobre el pulgar en la barra de desplazamiento o sobre un elemento del menú. Cuando el ratón está sobre un botón que no está pulsado, el botón está en este estado.
SELECTED
(seleccionado)este es el estado de los datos que han sido seleccionados por el usuario. Puede ser texto seleccionado o elementos seleccionados en una lista. Este estado no se utiliza en Emacs.
INSENSITIVE
(campos no activos)Este es el estado de los widgets que son visibles, pero que no pueden manipularse de la forma habitual, por ejemplo, los botones que no pueden pulsarse y los elementos de menú desactivados. Para mostrar los elementos de menú desactivados en amarillo, utilice
fg[INSENSITIVE] = "yellow"
.
Estas son las cosas que pueden ir en una declaración de estilo:
bg[state] = color
Especifica el color de fondo del widget. Tenga en cuenta que el texto editable no utiliza bg; en su lugar utiliza base.
base[state] = color
Especifica el color de fondo del texto editable. En Emacs, este color se utiliza para el fondo de los campos de texto en el diálogo de archivo.
bg_pixmap[state] = "pixmap"
Especifica un fondo de imagen (en lugar de un color de fondo). pixmap debe ser el nombre del archivo de imagen. GTK+ puede utilizar varios formatos de archivo de imagen, incluyendo XPM, XBM, GIF, JPEG y PNG. Si desea que un widget utilice la misma imagen que su padre, utilice
<parent>
. Si no desea ninguna imagen, utilice<none>.<none>
es la forma de cancelar una imagen de fondo heredada de un estilo padre.No puede especificar el archivo por su nombre absoluto. GTK+ busca el archivo pixmap en los directorios especificados en
pixmap_path
. Esta variable (pixmap_path
) es una lista de directorios separada por dos puntos entre comillas dobles, especificada en el nivel superior de un archivo gtkrc (es decir, no dentro de una definición de estilo; véase el ejemplo anterior):pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
fg[state] = color
Especifica el color de primer plano que utilizarán los widgets. Es el color del texto en menús y botones, y el color de las flechas en la barra de desplazamiento. Para texto editable, utilice texto.
text[state] = color
Este es el color para el texto editable. En Emacs, este color se utiliza para los campos de texto en el diálogo de archivo.
font_name = "font"
Especifica la fuente para el texto del widget. font es un nombre de fuente estilo GTK (o Pango), como
Sans Italic 10
. Ver 22.8 Fuentes. Los nombres no distinguen mayúsculas de minúsculas.
Existen tres formas de especificar un color: un nombre de color, un triplete RGB o un triplete RGB al estilo GTK. Para una descripción de los nombres de color y los tripletes RGB, véase 15.9 Colores de las Caras. Los nombres de colores deben escribirse entre comillas dobles, por ejemplo, "red"
(rojo). Los tripletes RGB deben escribirse sin comillas dobles, por ejemplo, #ff0000
. Las tripletas RGB al estilo GTK tienen la forma { r, g, b }
, donde r, g y b son enteros en el rango 0-65535 o flotantes en el rango 0.0-1.0.