wmctrl - espere até que a janela seja fechada

wmctrl - espere até que a janela seja fechada

Estou usando o wmctrl para fechar janelas em execução quando desejo desligar o computador. É porque preciso economizar espaço de trabalho no Eclipse e também não quero perder minhas abas abertas no Chrome. Eu escrevi um pequeno roteiro que realiza a tarefa, mas não é perfeito. Às vezes, as janelas não fecham normalmente, então estou perdendo minhas guias ou alterando o código-fonte. Existe alguma maneira de dizer ao wmctrl que espere até que a janela seja fechada? Meu script depende agora de 3 segundos de sono (a linha problemática), mas obviamente não é uma boa solução.

wmctrl -c chrome 
wmctrl -c eclipse 
sleep 3 
poweroff

Responder1

Você está fazendo a pergunta errada. Você não deve esperar até que a janela feche, mas até que o processo termine.

Felizmente, essa é uma pergunta mais fácil de responder.

while [ -n "$(pidof chrome eclipse)" ]; do
  sleep 1
done

informação relacionada