Creo que xdotool getactivewindowes lo que quieres, ¿lo intentaste?
Imprime la identificación de la ventana (de la pila de la ventana) si no hay más subcomandos de xdotool en la línea de comandos.
Por xdotool getactivewindow getwindowpidejemplo, getactivewindowcoloca la identificación en la pila de la ventana y getwindowpidusa esta identificación para consultar el PID. Tenga en cuenta que ejecutar ese comando en la terminal siempre devolverá la ID de la ventana de la terminal, porque está activa. Para obtener la ID de otra ventana, intente sleep 2s && xdotool getactivewindowy seleccione la ventana de interés en el lapso de dos segundos.
Hay una complicación cuando se usa xdotoolcon otras herramientas para el manejo de ventanas:
Mientras que la xdotoolsalida usa números decimales para los identificadores de viento, la mayoría de las otras herramientas usan números hexadecimales para la salida (generalmente admiten ambas para la entrada).
Por ejemplo, si encuentra una ventana con xdotool getactivewindow, no encontrará el resultado en la salida de xwininfo -root -tree, que enumera todas las ventanas. Primero debe convertirse a un número hexadecimal:
Intenté el xdotool getactivewindowcomando y el problema es que no imprime el resultado en la terminal. Guarda el resultado en la pila de la ventana. Este comando imprime algún número, pero no es la identificación de la ventana (por ejemplo, 35651588)
Mariusz
¿Por qué crees que 35651588 no es el id de la ventana?
Volker Siegel
Sí, creo que 35651588 no es la identificación de la ventana. Puede ver la identificación de Windows mediante el comando xwininfo, por ejemplo xwininfo -root -tree, este comando imprime todas las ventanas y las ventanas tienen otros tipos de numeración.
Mariusz
1
xwininfomuestra la identificación de la ventana como números hexadecimales, y xdotool muestra números decimales, pero es lo mismo.
xdotool getactivewindow
comando y el problema es que no imprime el resultado en la terminal. Guarda el resultado en la pila de la ventana. Este comando imprime algún número, pero no es la identificación de la ventana (por ejemplo, 35651588)xwininfo -root -tree
, este comando imprime todas las ventanas y las ventanas tienen otros tipos de numeración.xwininfo
muestra la identificación de la ventana como números hexadecimales, y xdotool muestra números decimales, pero es lo mismo.xwininfo -root -tree | grep 2200004 0x2200004 "user@host:~": ("gnome-terminal" "Gnome-terminal") 1680x974+0+26 +0+51
Este comando me funciona
xdotool versión 3.20160805.1
fuente
xdotool getactivewindow key F5
debería producir el mismo resultado