10진수가 아닌 16진수로 활성 창 ID 가져오기

10진수가 아닌 16진수로 활성 창 ID 가져오기

Hex에서 포커스(활성) 창의 창 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은 내 경우 터미널인 활성 창의 16진수입니다.

확실히 하기 위해 십진수로 구해보자:

$ xdotool getactivewindow 
123731974

이제 10진수를 16진수로 변환합니다.

$ printf 0x%x 123731974
0x7600006

그것은 동일합니다.

답변2

창 초점을 변경하고
나중에 16진수 PID를 인쇄하는 데 3초의 시간을 제공합니다.

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

답변3

10진수를 16진수로 변환하려면 printf를 사용하세요. 예. 16진수 사용으로 활성 창의 창 ID를 얻으려면

xdotool getactivewindow | xargs -I{} printf '%x\n' {}

관련 정보