OK, alguns pontos:
- Você não precisa do
/usr/bin
adicionado. A Shell encontrará o wmctrl sozinho. Isso é para casos muito específicos que podem envolver portabilidade. - Adicione oe comercial no final do comando
firefox
. O script continuará somente se o comando anterior sair. Como o firefox não sai, o script espera por ele. - Como Oli apontou, a melhor maneira é usar o nome da classe. Eu fiz vários scripts com
wmctrl
, onde encontrei o ID hexadecimal da janela referenciando o nome da classe.
Pessoalmente, eu faria assim:
#!/bin/bash
firefox http://www.google.de &
sleep 3
WM_ID=$(wmctrl -lx | awk '~/Navigator.Firefox/ {print }')
wmctrl -i -r $WM_ID -e 0,0,0,500,800
Aqui nós abrimos o firefox, vamos rodar em segundo plano, então extraímos o ID hexadecimal da janela que combina com a classe Navigator.Firefox
. Em wmctrl -lx
o campo 3 é wm_class e o campo 1 é hexadecimal. awk nos ajuda a extrair o campo 1 aqui. Finalmente, referenciamos esse id numérico, dentro da declaração final do wmctrl