Cambio de tema en Urxvt mediante menú emergente


Hay ocasiones en las leer ficheros de configuración resulta dificil por el resaltado de sintaxis, por ejemplo al editar crones los comentarios aparecen en azul oscuro resultando imposible de leer, pero mediante Urxvt podremos cambiar rápidamente entre perfiles de color para visualizar la salida con otro esquema de colores y volver al perfil en el que estabamos cuando terminemos con el fichero conflictivo.

 

La idea es programar una extensión de Urxvt en Perl que lea la running-config del .Xresources en busca de temas de color y nos muestre un menú donde elegir entre temas.

Según el sistema operativo que utilicemos el path de las extensiones de Urxvt estarán en un sitio u otro:

  • FreeBSD: /usr/local/lib/urxvt/perl/
  • Gentoo: /usr/lib64/urxvt/perl/

Nos bajamos la extensión que parseará running-config del .Xresources como root:

su -l
cd /usr/local/lib/urxvt/perl/
fetch https://www.alfaexploit.com/uploads/files/theme
exit

Como usuario regular editamos la configuración de nuestro .Xresources, primero añadimos un tema y luego habilitamos la extensión llamada theme.

vi .Xresources
! Urxvt themes
URxvt.theme.Solarized.background: #fdf6e3
URxvt.theme.Solarized.foreground: #657b83
URxvt.theme.Solarized.color0: #073642
URxvt.theme.Solarized.color15: #fdf6e3

URxvt.perl-ext-common: default,kr0m,searchable-scrollback,theme

Mergeamos la configuración actual de Xresources con la running-config:

xrdb .Xresources

Ahora con Ctrl + click derecho(sin soltar Ctrl) aparecerá un menú para cambiar el tema, para que desaparezca tendremos que hacer click derecho pero estando con el ratón encima del menú, podemos ver su funcionamiento en este video.

NOTA: Se ve un segundo menú porque tengo otra extensión de selección de texto habilitada que también funciona mediante menús emergentes.

Si te ha gustado el artículo puedes invitarme a un redbull aquí.
Si tienes cualquier pregunta siempre puedes enviarme un Email o escribir en el grupo de Telegram de AlfaExploit.
Autor: kr0m -- 04/09/2020 01:47:46 -- Categoria: Sysadmin