Tengo un cierto entorno de trabajo con docenas de ventanas abiertas. ¿Cómo puedo traer al frente una ventana con un nombre / título conocido programáticamente o usando la línea de comando?
14
Tengo un cierto entorno de trabajo con docenas de ventanas abiertas. ¿Cómo puedo traer al frente una ventana con un nombre / título conocido programáticamente o usando la línea de comando?
xdotool windowraiselleva la ventana al frente, pero no enfoca la ventana ni cambia al escritorio con la ventana. en cambio,windowactivatehará los tres.Bueno, después de
sudo apt-get install wmctrl-ing, se puede jugar con este script bash:Que encontré aquí
fuente
if ! wmctrl -l | grep -q "$WINTITLE"wmctrltiene una-iopción, que admite trabajar con la ventana con su identificador hexadecimal. Y para que pueda hacer estowmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai, que haría algo similarCuando se usa
xdotool, parece difícil poner al frente todas las ventanas para una aplicación o clase dada usando solo un comando. Termino teniendo mejores resultados envolviéndolo en unforbucle en el nivel de shell. Usando Bash:Pocos comentarios:
xdotool searchbuscará el patrón (aquíFirefox) en el nombre de la ventana, clase y nombre de clase. Si desea restringir el espacio de búsqueda, usar los pertinentes--class,--nameo--classnamelas opciones.--desktop 0opción limita la búsqueda al primer escritorio. Esto parece ser una solución alternativa para evitar loXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)mencionado en algunos comentarios.xdotoolproyecto está estancado desde 2015. Sigue siendo mi herramienta de elección. Por razones personales, Jordan Sissel (el autor original) no es tan activo como lo fue en el pasado, así que no dude en contribuir al proyecto.Esta es una copia de una respuesta que publiqué en AskUbuntu , pero creo que es independiente del sabor de Linux, por lo que también puede ser útil aquí.
fuente