Finalmente eu consegui trabalhar para obter o PID da janela ativamente focada com xdotool
xprop -id 'xdotool getwindowfocus' | grep '_NET_WM_PID' | grep -oE '[[:digit:]]*$'
Como conhecer o pid da janela ativa (focada)?
Eu quero escrever um script no qual seja necessário saber se o usuário está usando ativamente um programa [navegando na internet com algo que diga firefox] ou fazendo outra coisa [escrevendo texto com algo que diga gedit]
No meu caso, quero baixar arquivos grandes, mas não quero prejudicar a velocidade da navegação. então quando eu navego na janela ativa é do firefox e eu quero parar de baixar. Quando eu leio pdf janela ativa é de leitor de pdf e quero retomar o download. É isso aí.
Finalmente eu consegui trabalhar para obter o PID da janela ativamente focada com xdotool
xprop -id 'xdotool getwindowfocus' | grep '_NET_WM_PID' | grep -oE '[[:digit:]]*$'
xdpyinfo
tem, enterrado em sua produção volumosa, o id da janela da janela com o foco (veja: Qual janela tem a corrente foco? ).
Com isso, você pode usar xprop
para obter o PID associado.
xprop -id 'xdpyinfo | grep -Eo 'window 0x[^,]+' | cut -d" " -f2' | grep PID
Você pode instalar o wmctrl e usá-lo para listar todas as janelas, wmctrl -l
.
Tags window