Obtenha o ID da janela ativa em hexadecimal e não decimal

Obtenha o ID da janela ativa em hexadecimal e não decimal

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' {}

informação relacionada