xdotool 桌面问题

巴贝克

我对此很陌生,所以我希望不要冒犯。我正在尝试为我的 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 =线上。

  1. 使用诸如sh -c "command 1; command 2". This is a way to pass two commands through a single command: anExec=` 之类的构造将多个命令传递到您的 shell仅处理单个命令。
  2. 创建一个包含所需命令的 bash 脚本,并在您的Exec=行中调用该 bash 脚本

因此,删除该行URL=,并将该Exec=更改

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

您可以替换shbash. 相反的&&,你也可以使用;,但前者将确保xdotool,如果执行成功的第一个命令时,才会执行命令。

如果存在计时问题,则尝试插入一个pauze,例如

...&& sleep 0.3 && xdotool

在执行之前会等待 0.3 秒xdotoolxdotool也有一个内置的 sleep 命令,所以&& xdotool sleep 0.3 search也应该这样做。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章