
是否可以綁定自訂按鍵以切換到特定應用程式?
例如:
super+1 切換到 chrome 視窗(不是視窗清單中的第一個視窗)。
super+2 切換到 nautilus 窗口
或至少:
super+1 切換到第一個視窗
super+2 切換到第二個視窗
答案1
這需要一些工作,但您可以使用腳本和鍵綁定來完成此操作。
有一個工具叫xdo工具它可以讓你模擬鍵盤按下。您可以綁定鍵盤按鍵來執行利用此工具的腳本。
使用您喜歡的任何語言來傳輸終端命令,您可以使用以下命令找到特定的進程 ID:
ps aux | grep "process here"
使用xdotool search --pid "process ID here"
您將獲得單一應用程式的多個視窗 ID。我不知道如何對它們進行排序以找到正確的 ID,所以您可以做的就是讓您的腳本將找到的 ID 迭代到
xdotool windowactivate "window ID here"
這將打開你的視窗。
例如,我的 1 鍵將被綁定來執行一個腳本,該腳本會尋找「filezilla」的進程 ID。然後它會用xdotool找到視窗ID,取得這些ID,然後將它們傳送給xdotool來拉出視窗。 2 鍵可能是“google-chrome”
答案2
我整理了李先生的建議並創建了這個腳本:
#!/bin/bash
APP=$1
if [ -z "$APP" ]; then
echo Usage: $0 EXECUTABLE_NAME
exit 1
fi
PID=$(pgrep -f $APP | head -n 1)
if [ -z "$PID" ]; then
echo $APP executable not found
exit 2
fi
for WINDOW_ID in $(xdotool search --pid $PID); do
xdotool windowactivate $WINDOW_ID
done
notify-send "Switched to $APP (PID=$PID)"
它基本上忽略了任何錯誤的可能性,但對我有用。