O script da pergunta funciona perfeitamente, mas o problema está no título da janela do terminal que não contém a palavra (string) "Terminal". Para superar essa "inadequação", você tem três possibilidades:
-
Faça a sua janela de terminal para conter a palavra "terminal". Para fazer isso, quando estiver no terminal, vá para Editar → Preferências de perfil (ou pressione Alt + E e, em seguida, O ), selecione a guia Título e Comando e siga as instruções da imagem abaixo:
-
Como eu vejo em esta imagem , o título da sua janela de terminal é o mesmo que o seu prompt de terminal. Portanto, o script funcionará como esperado se você executar o seguinte comando:
/home/michael/Scripts/bring-all-windows.bash michael@michael
(você não precisa prefixar o comando acima com
bash
). -
Ou, talvez a melhor escolha, no script, combine com a identidade da janela e não com o título da janela:
#!/bin/bash Program=" $(pidof $@) " wmctrl -lp | while read Window; do if [ "${Program/ 'echo "$Window" | cut -f 4 -d " "' }" != "$Program" ]; then echo "DEBUG: I bring $Window" code='echo "$Window" | cut -f 1 -d " "' wmctrl -i -a $code fi done
Em seguida, execute o script usando o seguinte comando:
/home/michael/Scripts/bring-all-windows.bash gnome-terminal