Problema de escritorio de xdotool

Problema de escritorio de xdotool

Soy muy nuevo en esto, así que espero no ofender. Estoy intentando crear iconos de Desktop.desktop para mi HTPC (PC de cine en casa). Cada ícono, una vez presionado, debería abrir la URL y maximizar la pantalla. Mi código a continuación lo hace, pero xdotool no se maximiza. Sin embargo, cuando ejecuto mi xdotool en una terminal, ¡funciona! ¿Supongo que el código necesita algún tipo de retraso entre la apertura de la URL y la maximización?

[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

Gracias de antemano.

Respuesta1

Un archivo .desktop abrirá una URL o ejecutará un comando, pero no ambas cosas al mismo tiempo. Para que abra la URL y haga algo con las ventanas creadas, combine ambas acciones en la exec =línea.

Hay dos formas de combinar dos acciones en una Exec =línea.

  1. Pase múltiples comandos a su shell usando una construcción como sh -c "command 1; command 2". This is a way to pass two commands through a single command: anla línea Exec=` maneja solo un comando.
  2. Cree un script bash que contenga los comandos necesarios y llame a ese script bash en su Exec=línea.

Por lo tanto, elimine la línea URL=y cámbiela Exec=a

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

Puedes reemplazar shpor bash. En lugar de &&usted, también podría usar ;, pero el primero se asegurará de que el xdotoolcomando solo se ejecute si el primer comando se ejecuta correctamente.

Si hay un problema de sincronización, intente insertar una pausa, por ejemplo

...&& sleep 0.3 && xdotool

esperaría 0,3 segundos antes de ejecutarse xdotool. xdotoolTambién tiene un comando de suspensión incorporado, por lo que && xdotool sleep 0.3 searchtambién debería funcionar.

información relacionada