Xrdb: el "registry" de X11

Hoy les voy a hablar de Xrdb, una pequeña característica de X11 que puede llegar a ser útil, especialmente si estás interesado en vivir en entornos minimalistas y/o que no involucren Gnome ni KDE. Xrdb es una pequeña base de datos de configuraciones que se leen de un archivo de texto y se aplican de manera muy simple a todos los programas X11 que las acepten.

Definiendo la base de datos

Tengo entendido que normalmente vive en ~/.Xresources, pero he visto ~/.Xdefaults por ahí. La estructura del archivo es una serie de cadenas que se usan para empatar los ajustes de los diferentes programas, seguidos de un signo dos puntos y el valor a configurar.

Mi ~/.Xresources más básico se ve así:

xterm*termName: xterm-256color

xterm*faceName: Consolas
xterm*faceSize: 9
xterm*renderFont: true
xterm*reverseVideo: true
xterm*metaSendsEscape: true
xterm*scrollTtyOutput: false
xterm*VT100.geometry: 90x45
xterm*toolBar: false

Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault
Xft.rgba: rgb
Xft.autohint: 0

Para resetear la base de datos con los valores de un archivo usas xrdb file, si nada más quieres pegar una actualización o agregar valores entonces xrdb -merge file.

La sintaxis del archivo

Pues cada software define en su documentación (código fuente) una serie de cadenas como puede ser "xterm.termName", entonces lo más básico es incluir xterm.termName: xterm-256color. Pero hay algo de magia aquí: no necesitas saber toda la cadena, basta con que sepas una parte. Así, podrías usar *termName: xterm-256color Y entonces una hipotética cadena "rxvt.termName" también adoptaría el valor "xterm-256color".

¿Y sirve de mucho?

Para ser honestos, no. O sea sí sirve, pero por lo general casi todos los programas están basados en GTK/Gnome o Qt/KDE, entonces en realidad leen sus configuraciones del mecanismo de su Desktop Environment. Pero ocasionalmente ocurre que eres KDE-junkie y tienes que correr una aplicación GTK, y ahí puede ser útil.

Así que para mí es simplemente el archivo de configuración de Xterm.