Eu acho xdotool getactivewindowque é o que você quer - você tentou?
Ele imprime o ID da janela (da pilha de janelas) se não houver mais subcomandos do xdotool na linha de comando.
Por xdotool getactivewindow getwindowpidexemplo, getactivewindowcoloca o ID na pilha de janelas e getwindowpidusa esse ID para consultar o PID. Observe que a execução desse comando no terminal sempre retornará o ID da janela do terminal, pois está ativo. Para obter o ID de outra janela, tente sleep 2s && xdotool getactivewindowselecionar a janela de interesse no período de dois segundos.
Há uma complicação ao usar xdotooloutras ferramentas para manipulação de janelas:
Enquanto a xdotoolsaída usa números decimais para os IDs do windwo, a maioria das outras ferramentas usa números hexadecimais para a saída (eles suportam ambos para entrada normalmente).
Por exemplo, se você encontrar uma janela com xdotool getactivewindow, não encontrará o resultado na saída de xwininfo -root -tree, que lista todas as janelas. Ele precisa ser convertido em um número hexadecimal primeiro:
Eu tentei xdotool getactivewindowcomando e problema é que ele não imprime resultado no terminal. Salve o resultado na pilha de janelas. Este comando imprime algum número, mas não é o ID da janela (por exemplo, 35651588)
Mariusz
Por que você acha que 35651588 não é o ID da janela?
Volker Siegel
Sim, acho que 35651588 não é o ID da janela. Você pode ver o windows id pelo comando xwininfo, por exemplo xwininfo -root -tree- este comando imprime todas as janelas e as janelas têm outros tipos de numeração.
Mariusz
1
xwininfomostra o ID da janela como números hexadecimais e o xdotool mostra números decimais, mas é o mesmo.
xdotool getactivewindow
comando e problema é que ele não imprime resultado no terminal. Salve o resultado na pilha de janelas. Este comando imprime algum número, mas não é o ID da janela (por exemplo, 35651588)xwininfo -root -tree
- este comando imprime todas as janelas e as janelas têm outros tipos de numeração.xwininfo
mostra o ID da janela como números hexadecimais e o xdotool mostra números decimais, mas é o mesmo.xwininfo -root -tree | grep 2200004 0x2200004 "user@host:~": ("gnome-terminal" "Gnome-terminal") 1680x974+0+26 +0+51
Este comando funciona para mim
xdotool versão 3.20160805.1
fonte
xdotool getactivewindow key F5
deve produzir o mesmo resultado