Problema na área de trabalho do xdotool

Problema na área de trabalho do xdotool

Sou muito novo nisso, então espero não ofender. Estou tentando criar ícones Desktop.desktop para meu HTPC (Home Theater PC). Cada ícone, uma vez pressionado, deve abrir a URL e maximizar a tela. Meu código abaixo faz isso, mas o xdotool não maximiza. Porém, quando executo meu xdotool em um terminal, funciona! Presumo que o código precise de algum tipo de atraso entre a abertura do URL e a maximização.

[Desktop Entry]
Name=YouTube
Type=Link
URL=https://www.youtube.com/
Comment Terminal=false
Icon=/home/babak/Myicons/YouTube.png
Exec=xdotool search "google chrome" windowactivate --sync key F11

Desde já, obrigado.

Responder1

Um arquivo .desktop abrirá uma URL ou executará um comando, mas não ambos ao mesmo tempo. Para que ele abra a URL e faça algo com as janelas criadas, combine as duas ações na exec =linha.

Existem duas maneiras de combinar duas ações em uma Exec =linha.

  1. Passe vários comandos para o seu shell usando uma construção como a sh -c "command 1; command 2". This is a way to pass two commands through a single command: anlinha Exec=` que lida com apenas um único comando.
  2. Crie um script bash contendo os comandos necessários e chame esse script bash em sua Exec=linha.

Assim, exclua a linha URL=e altere a Exec=linha para

sh -c 'google-chrome https://www.youtube.com/ && xdotool search "google chrome" windowactivate --sync key F11'

Você pode substituir shpor bash. Em vez de &&você também pode usar ;, mas o primeiro garantirá que o xdotoolcomando só seja executado se o primeiro comando for executado com sucesso.

Se houver um problema de tempo, tente inserir uma pausa, por exemplo

...&& sleep 0.3 && xdotool

esperaria 0,3 segundos antes de executar xdotool. xdotooltambém tem um comando sleep integrado, então && xdotool sleep 0.3 searchtambém deve funcionar.

informação relacionada