Em um script, você pode usar wmctrl
, xprop
e awk
para usar o tempo de ativação mantido pelo gerenciador de janelas. (Veja, por exemplo, wm-spec 1.5) . Por exemplo, use uma linha de comando (multilinha) como a seguinte:
W=$(wmctrl -l | \
awk '$ ~ "Terminal" {print $1;}' | while read x ; do \
echo "$x $(xprop -id $(xprop -id $x \
| awk '$1 ~ /_NET_WM_USER_TIME/ {print $NF}' \
) \
| awk '{print $NF}' \
)" ; \
done | awk '$2>t {i=$1; t=$2} END {print i}' \
)
Em palavras:
- passa a lista
wmctrl
por meio de uma filtragem para selecionar os ids de janela do aplicativo nomeado ("Terminal" no exemplo acima); então - transmita isso (mais interno)
xprop
para obter um ID de janela (fingido) para o último tempo de uso e - usando outro (outer)
xprop
para obter esse registro de data e hora, que é a propriedade (única) da "janela fingida" do_NET_WM_USER_TIME_WINDOW
da janela original; então - transmitir todas as linhas de ID e registro de data e hora resultantes por meio de um filtro
awk
que informa o ID com o maior registro de data e hora.