wmctrl - aguarde até que a janela esteja fechada

2

Estou usando o wmctrl para fechar as janelas de execução quando quero desligar o computador. É porque preciso salvar o espaço de trabalho no Eclipse e também não quero perder minhas guias abertas no Chrome. Eu escrevi um pequeno roteiro que realiza a coisa, mas não é perfeito. Às vezes, as janelas não fecham normalmente, por isso estou perdendo minhas guias ou alterações no código-fonte. Existe alguma maneira de dizer wmctrl espera até que a janela seja fechada? Meu script agora depende 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
    
por tomrozb 06.05.2013 / 21:56

1 resposta

3

Você está fazendo a pergunta errada. Você não deve esperar até que a janela seja fechada, mas até que o processo tenha morrido.

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

while [ -n "$(pidof chrome eclipse)" ]; do
  sleep 1
done
    
por Gilles 06.05.2013 / 22:03