Как получить окно ID фокуса (активное) окно в Шестнадцатеричном числе?
Попробуйте этот взлом:
wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
, Например:
$ 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 является шестнадцатеричным числом активного окна, которое является терминалом в моем случае.
, Чтобы быть уверенным позволяют нам получить его в десятичном числе:
$ xdotool getactivewindow
123731974
Теперь преобразовывают из десятичного числа для преобразовывания в шестнадцатеричную систему:
$ printf 0x%x 123731974
0x7600006
Это - то же.
Дает Вам 3 секунды для изменения фокуса окна и
печать впоследствии шестнадцатеричный PID:
~$ sleep 3; printf 0x%x $(xdotool getactivewindow getwindowpid)