Se você executar o script abaixo, ele registrará por 10 segundos (ou qualquer outro horário definido) a saída do comando xprop
na janela frontal (executando o comando xprop -root
). Posteriormente, grava a saída, após o tempo decorrido, em um arquivo: outfile.txt
Se você tiver certeza de manter a janela Gnome-Do
ativa até que o script termine, você pode ter certeza que o último registro está correspondendo à janela Gnome-Do
.
Para usá-lo
- Simplesmente copie o script abaixo em um arquivo vazio, defina, na seção head, o caminho desejado para o arquivo de saída (
outfile =
, use um caminho absoluto ). Salve comorecord_xprop.py
-
Inicie o script pelo comando:
python3 /path/to/record_xprop.py
-
Chame sua janela
Gnome-Do
(ou qualquer outro aplicativo de que você precise de dados). - Após o tempo decorrido, o arquivo de saída mostrará cinco vezes a saída do comando
xprop -root
, separado por uma linha pontilhada.
Nota
Se você precisar de mais tempo, basta alterar o "5" na linha:
while t < 5:
em qualquer outro valor que você precise
O script
#!/usr/bin/env python3
import subprocess
import time
outfile = "/home/jacob/Bureaublad/outfile.txt"
data = []; t = 0
while t < 5:
data.append(subprocess.check_output(["/bin/bash", "-c", "xprop -root"]).decode("utf-8"))
time.sleep(2)
t = t + 1
with open(outfile, "wt") as out:
for rec in data:
out.write(rec+"\n"+"-"*20+"\n\n")
Editar
Se isso não funcionar por algum motivo (aparentemente a janela não está à frente, como reconhecido por xprop
), poderíamos fazer o mesmo com o comando wmctrl -l
(substituir xprop -root
por wmctrl -l
no script), para identificar primeiro a janela pelo nome.
Feito isso, podemos executar novamente xprop
, com a opção -name
, para obter as informações necessárias: xprop -name <windowname>
Para ambos os comandos, você pode executar o comando sleep
ou, se precisar de mais tempo, executar o script novamente.