取得十六進位而非十進制的活動視窗 ID

取得十六進位而非十進制的活動視窗 ID

如何取得焦點(活動)視窗的十六進位視窗 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' {}

相關內容