Este LDP Howto demuestra cómo cambiar el título de una xterm.
Sé que esto también es posible usando el xtitle
comando.
Antes de invocar una acción de larga duración, mi script usa tales técnicas para cambiar el título de su ventana xterm.
Me gustaría extraer el nombre de la ventana xterm antes de cambiarla para que, una vez que se complete la acción de larga duración, pueda restaurar el título a su valor anterior.
Sería una especie de inverso a xtitle ... ¿Es esto posible?
xterm
tiene una pila para el título de la ventana, si puede descubrir cómo usarlo.Respuestas:
Usar
xtitle
guión.Hay muchas variantes en internet, sin embargo, tiendo a usar una que depende de
xprop
http://www.shelldorado.com/scripts/cmds/xtitle
fuente
xtitle
hace, solo funciona para sesiones locales.Hay una secuencia de control para consultar el título actual, pero generalmente está deshabilitado por razones de seguridad. Esto se debe a que permite que un programa malicioso o incluso solo un archivo de texto insertado inserte secuencias de caracteres arbitrarias como si estuvieran escritas en el teclado, primero configurando el título y luego solicitando que se le informe de nuevo. Por lo tanto, se introdujo la pila de títulos.
El siguiente comando guardará la ventana actual y los títulos de los íconos en la pila:
Esto establecerá el título en
my title
:Y esto restaurará la ventana anterior y los títulos de íconos:
fuente
Para el trivial, (y probablemente el caso más común), donde uno podría desear consultar el prompt para el xterm actual, simplemente use
xprop -id $WINDOWID WM_NAME
. Si desea extraer el valor para la manipulación en un script de shell, puede hacer algo un poco más costoso como:Usando bash solo (para evitar la invocación de awk y xargs):
Los xargs hacen eco en el primer ejemplo y la evaluación en el segundo ejemplo simplemente está ahí para quitar las comillas que xprop pone alrededor del valor.
Reemplace WM_NAME con WM_ICON si desea obtener el nombre del icono en lugar de la cadena en la barra de título.
fuente
Si entiendo bien su pregunta, debería poder obtener el título actual de xterm inspeccionando la
$PROMPT_COMMAND
variable, por ejemplo:y puedes configurarlo como (salto de línea para facilitar la lectura):
fuente
PROMPT_COMMAND
no es la forma más autorizada para obtener el título, ya que no siempre se establece, y cualquier comando que ejecute podría cambiar el título entre las solicitudes. Para mayor precisión, las secuencias de control específicas del emulador de terminal son probablemente el camino a seguir.$PROMPT_COMMAND
no es el título de la ventana. No están relacionados.