Installa xdotool
, quindi esegui
xdotool getwindowfocus getwindowname
Darà ad es. per la pagina web corrente aperta in Firefox :
linux - Detecting currently active window - Super User - Mozilla Firefox
Questo è più diretto e utilizza solo xprop
e cut
:
xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME
Questi comandi sono solo un'estrazione di proprietà dalla finestra principale e dalla finestra dell'applicazione, ma su richiesta di Lorenzo von Matterhorn:
-
Primo,
xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW
Estrae il
_NET_ACTIVE_WINDOW
property dalla radice, che fornisce l'XID della finestra attiva. Il32x '\t$0'
dicexprop
per formattare l'output in modo checut
può facilmente analizzare in seguito. -
Quindi, estrai solo l'XID dall'output con
cut -f 2
-
Quindi, passa l'XID come parametro a
xprop -id XID _NET_WM_NAME
Che stampa il nome di quella finestra.
C'è, ma nessuna risposta breve o soluzione.
$ wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
risultato:
0x03800004 0 16459 xxxxxxxxxx /bin/bash
In uso:
$ for x in $(seq 1 10); do sleep 5; wmctrl -lp | grep $(xprop -root | \
grep _NET_ACTIVE_WINDOW | head -1 | awk '{print $5}' | sed 's/,//' | \
sed 's/^0x/0x0/'); done
0x03800004 0 16459 xxxxxxxxxx /bin/bash
0x020000a4 0 13524 xxxxxxxxxx linux - Detecting currently active window - Super User - Mozilla Firefox (Build 20120129142219)