web-dev-qa-db-fra.com

Obtenir l'ID de fenêtre active en hexa non décimal

Comment obtenir l'ID de fenêtre de la fenêtre active (active) en Hex?

3
Ioannis Ypatidis

Essayez ce hack:

wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
    awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')

Par exemple:

$ 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 est l'hex de la fenêtre active qui est le terminal dans mon cas.

Pour être sûr, obtenons-le en décimal:

$ xdotool getactivewindow 
123731974

Maintenant convertissez décimal en hexadécimal:

$ printf 0x%x 123731974
0x7600006

C'est le même.

3
Maythux

Vous donne 3 secondes pour changer le focus de la fenêtre et
imprime ensuite le PID hexadécimal:

~$ sleep 3; printf 0x%x $(xdotool getactivewindow getwindowpid)
0
PatrickSteiner