
如何取得焦點(活動)視窗的十六進位視窗 ID?
答案1
試試這個技巧:
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
一樣的。
答案2
給您 3 秒的時間來更改視窗焦點,
然後列印十六進位 PID:
~$ sleep 3; printf 0x%x $(xdotool getactivewindow getwindowpid)
答案3
使用 printf 將十進制轉換為十六進制。例如。取得活動視窗的視窗 ID(十六進位)
xdotool getactivewindow | xargs -I{} printf '%x\n' {}