
Como obter o ID da janela de foco (ativa) em Hex?
Responder1
Experimente este hack:
wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
Por exemplo:
$ 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 é o hexadecimal da janela ativa que é o terminal no meu caso.
Para ter certeza, vamos colocar em decimal:
$ xdotool getactivewindow
123731974
Agora converta de decimal para hexadecimal:
$ printf 0x%x 123731974
0x7600006
É a mesma coisa.
Responder2
Dá 3 segundos para alterar o foco da janela e
imprime depois o PID hexadecimal:
~$ sleep 3; printf 0x%x $(xdotool getactivewindow getwindowpid)
Responder3
Use printf para converter decimal em hexadecimal. Por exemplo. para obter o ID da janela ativa em uso hexadecimal
xdotool getactivewindow | xargs -I{} printf '%x\n' {}