
Wie erhalte ich die Fenster-ID des Fokusfensters (aktiven Fensters) in Hex?
Antwort1
Versuchen Sie diesen Hack:
wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
Zum Beispiel:
$ 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 ist der Hex-Wert des aktiven Fensters, das in meinem Fall das Terminal ist.
Um sicherzugehen, geben wir es in Dezimalzahlen wieder:
$ xdotool getactivewindow
123731974
Nun von Dezimal in Hex umwandeln:
$ printf 0x%x 123731974
0x7600006
Es ist das gleiche.
Antwort2
Gibt Ihnen 3 Sekunden Zeit, den Fensterfokus zu ändern und
druckt anschließend die hexadezimale PID:
~$ sleep 3; printf 0x%x $(xdotool getactivewindow getwindowpid)
Antwort3
Verwenden Sie printf, um Dezimalzahlen in Hex umzuwandeln. Um beispielsweise die Fenster-ID des aktiven Fensters in Hex zu erhalten, verwenden Sie
xdotool getactivewindow | xargs -I{} printf '%x\n' {}