¿Hay alguna posibilidad de cambiar el color de fondo de una sesión rxvt-unicode sobre la marcha? ¿Como con la Ctrlllave?
Tengo un montón de ventanas Urxvt y me gustaría colorear algunas dinámicamente para ayudarme a distinguirlas. Pero de nuevo, quiero decir sobre la marcha ...
Respuestas:
urxvt
2.6 en 2004 agregó soporte para la función de colores dinámicos de xterm . En Secuencias de control XTerm , esto esOSC
11.OSC
10 establece el color de texto predeterminado. El registro de cambios mencionó parte del cambio:pero el código fuente cuenta la historia, como siempre:
El manual
rxvt(7)
no proporciona información útil:Este sencillo ejemplo establece los colores predeterminados de primer plano (texto) y de fondo :
Al igual
xterm
, estos colores predeterminados pueden ser anulados temporalmente por colores "ANSI".La función se puede deshabilitar al
xterm
usar eldynamicColors
recurso. A diferenciaxterm
,urxvt
no tiene configuración de recursos para la función.VTE también implementa la función, y tampoco la documenta.
urxvt
al menos comenzó con la documentación derxvt
. Para VTE, debe leer el código fuente. La característica relevante en sevteseq.cc
ve así:Ese código se remonta a algún momento en 2003 (cuando fue escrito en C):
Otras lecturas:
fuente
Agregué lo siguiente a mi
~/.Xresources
archivo para cambiar a colores sobre la marcha presionando Ctrly 7/ 8o 9.Si desea establecer el color de primer plano y de fondo al mismo tiempo, simplemente concatene los comandos (algunos colores se definen por nombres):
Puede probar sus colores con un
echo
comando simple , como este:Atención
Usé el código 11 para el color de fondo y el código 10 para el color de primer plano . Las definiciones de Urxvt citadas por Thomas Dickey indican usar 49 y 39 en su lugar (que probé y también funciona).
fuente
Dynamic Colors es un ejemplo de cambio dinámico de colores. Comienza con el uso de estos dos recursos .X:
xterm*dynamicColors: true urxvt*dynamicColors: on
A pesar del plomo, ¡no he cambiado de color al trabajar con urxvt! Esta técnica funciona muy bien con xterm. Dynamic Colors llama a estas "secuencias de escape OSC" que alteran el terminal, el ejemplo para hacer el fondo rojo es:
echo -e "\03echo -e "\033]11;#ff0000\007"3]11;#ff0000\007"
fuente
echo -e "\033]11;#ff0000\007"
Tengo lo siguiente en mi Xresources para un cambio rápido (sí, se basa en colores dinámicos).
También puede buscar otro enfoque aquí: https://github.com/sos4nt/dynamic-colors
fuente
Escribí una extensión llamada urxvt-theme que agrega esta funcionalidad a rxvt-unicode (con un menú contextual simple) usando recursos X y colores dinámicos.
fuente