
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