Instalar xdotool
, luego ejecuta
xdotool getwindowfocus getwindowname
Dará, p. para la página web actual abierta en Firefox:
linux - Detecting currently active window - Super User - Mozilla Firefox
Esto es más directo y solo usa xprop
y cut
:
xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME
Estos comandos son solo una extracción de propiedades de la ventana raíz y la ventana de la aplicación, pero según la solicitud de Lorenzo von Matterhorn:
-
Primero,
xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW
Extrae el
_NET_ACTIVE_WINDOW
propiedad de la raíz, que le da el XID de la ventana activa. El32x '\t$0'
le dice axprop
para formatear la salida de manera quecut
puede analizar fácilmente más tarde. -
Luego, extraiga solo el XID de la salida con
cut -f 2
-
Luego, pase el XID como parámetro a
xprop -id XID _NET_WM_NAME
Que imprime el nombre de esa ventana.
La hay, pero no hay una respuesta breve ni una solución.
$ wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
resultado:
0x03800004 0 16459 xxxxxxxxxx /bin/bash
En 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)