我對此很陌生,所以我希望不要冒犯。我正在嘗試為我的 HTPC(家庭劇院電腦)建立 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
提前致謝。
答案1
.desktop 檔案將開啟 URL 或執行命令,但不能同時開啟兩者。若要讓它開啟 URL 並對已建立的視窗執行某些操作,請在該exec =
行中組合這兩個操作。
有兩種方法可以將兩個操作組合到一條Exec =
線上。
- 使用 Exec=` 行等構造將多個命令傳遞到 shell
sh -c "command 1; command 2". This is a way to pass two commands through a single command: an
僅處理單一命令。 - 建立一個包含所需命令的 bash 腳本,並在您的
Exec=
行中呼叫該 bash 腳本。
因此,刪除該行URL=
,並將該Exec=
行更改為
sh -c 'google-chrome https://www.youtube.com/ && xdotool search "google chrome" windowactivate --sync key F11'
您可以替換sh
為bash
.您也&&
可以使用;
,但前者將確保xdotool
僅在第一個命令成功執行時才執行該命令。
如果有計時問題,請嘗試插入暫停,例如
...&& sleep 0.3 && xdotool
在執行之前會等待 0.3 秒xdotool
。xdotool
還有一個內建的睡眠命令,所以&& xdotool sleep 0.3 search
也應該可以做到這一點。