¿Cómo cambio los títulos de las ventanas (como los usa wmctrl)?

¿Cómo cambio los títulos de las ventanas (como los usa wmctrl)?

estoy usandowmctrlpara mover aplicaciones después de haberlas iniciado de manera que no tenga que hacerlo manualmente para, por ejemplo, varios editores de texto y navegadores web y visores y terminales de PDF. Estoy emitiendo el siguiente comando wmctrl para mover aplicaciones

wmctrl -r <title> -e <x>,<y>,0,-1,-1

donde < x > y < y > son las coordenadas horizontales y verticales del objetivo, y < título > es el nombre de la aplicación devuelta por wmctrl -l. Si ejecuto dos copias de Google Chrome mediante los siguientes comandos,

google-chrome &
google-chrome &

luego emite el comando

wmctrl -l 

los nombres de las ventanas devueltas son

0x03c06fd9  0 main New Tab - Google Chrome
0x03c0703d  0 main New Tab - Google Chrome

ahora, si intento mover uno de esos a una coordenada arbitraria, digamos 100,100, con el siguiente comando

wmctrl -r "Google Chrome" -e 100,100,0,-1,-1

Si aún no lo has adivinado, moverá ESTA ventana de Google Chrome en la que estoy escribiendo actualmente, ya que la abrí antes que las otras dos.

¿Hay alguna forma de asignar estos títulos de ventana al iniciar desde la línea de comando o de restablecerlos más tarde? Necesito cambiar los nombres a algo como

Google Chrome 1
Google Chrome 2
Google Chrome 3

Tenga en cuenta que conozco dos formas de solucionar este problema; sin embargo, no me gusta ninguna de ellas, ya que podrían generar problemas si el sistema operativo inicia un programa en segundo plano.

  1. En lugar de utilizar el título, utilice el ID numérico de la ventana mediante el -icomando.
  2. Utilice la cadena :ACTIVE:para utilizar la ventana activa

Respuesta1

Utilice el xttitleprograma del xttitlepaquete. Tenga en cuenta las DOS "t" en xTTitelo. Bueno, en realidad, hay 3 "t"... pero sólo he tenido problemas al escribir mal las dos primeras.

Aquí hay un ejemplo de mi ~/.bashrc, en el que anulo el cdincorporado y lo uso xttitlepara colocar el directorio actual en el título de mi ventana:

# from the "xttitle(1)" man page - put info in window title
update_title()
{
    [[ $TERM = xterm ]] || [[ $TERM = xterm-color ]]  && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
}

cd()
{
    [[ -z "$*" ]] && builtin cd $HOME
    [[ -n "$*" ]] && builtin cd "$*"
    update_title
}

información relacionada