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.
- En lugar de utilizar el título, utilice el ID numérico de la ventana mediante el
-i
comando. - Utilice la cadena
:ACTIVE:
para utilizar la ventana activa
Respuesta1
Utilice el xttitle
programa del xttitle
paquete. 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 cd
incorporado y lo uso xttitle
para 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
}