我对此很陌生,所以我希望不要冒犯。我正在尝试为我的 HTPC(家庭影院 PC)创建 Desktop.desktop 图标。每个图标,一旦按下就应该打开 URL 并最大化屏幕。我下面的代码做到了,但 xdotool 没有最大化。但是,当我在终端上运行我的 xdotool 时,工作正常!我假设代码在打开 URL 和最大化之间需要某种延迟?
[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
提前致谢。
.desktop 文件将打开 URL 或运行命令,但不能同时打开。要让它打开 URL 并对创建的窗口执行某些操作,请将这两个操作组合在exec =
一行中。
有两种方法可以将两个操作组合在一条Exec =
线上。
sh -c "command 1; command 2". This is a way to pass two commands through a single command: an
Exec=` 之类的构造将多个命令传递到您的 shell仅处理单个命令。Exec=
行中调用该 bash 脚本。因此,删除该行URL=
,并将该Exec=
行更改为
sh -c 'google-chrome https://www.youtube.com/ && xdotool search "google chrome" windowactivate --sync key F11'
您可以替换sh
为bash
. 相反的&&
,你也可以使用;
,但前者将确保xdotool
,如果执行成功的第一个命令时,才会执行命令。
如果存在计时问题,则尝试插入一个pauze,例如
...&& sleep 0.3 && xdotool
在执行之前会等待 0.3 秒xdotool
。xdotool
也有一个内置的 sleep 命令,所以&& xdotool sleep 0.3 search
也应该这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句