
¿Cómo obtener el ID de la ventana de enfoque (activa) en hexadecimal?
Respuesta1
Prueba este truco:
wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
Por ejemplo:
$ wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
> awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
0x07600006 0 19051 maythuxPC Gnome Terminal
0x07600006 es el hexadecimal de la ventana activa que es la terminal en mi caso.
Para estar seguros, pongámoslo en decimal:
$ xdotool getactivewindow
123731974
Ahora convierta de decimal a hexadecimal:
$ printf 0x%x 123731974
0x7600006
Es lo mismo.
Respuesta2
Le da 3 segundos para cambiar el foco de la ventana e
imprime luego el PID hexadecimal:
~$ sleep 3; printf 0x%x $(xdotool getactivewindow getwindowpid)
Respuesta3
Utilice printf para convertir decimal a hexadecimal. P.ej. para obtener la identificación de la ventana activa en uso hexadecimal
xdotool getactivewindow | xargs -I{} printf '%x\n' {}