Gnome

是否可以在 Gnome3 中使用鍵盤快捷鍵打開視窗?

  • May 24, 2018

我最近從 KDE4 轉到了 Gnome3。在 KDE 中,您可以創建特定於應用程序的鍵盤快捷鍵來彈出視窗。我通常為 firefox、thunderbird、我的終端等創建一個。這樣視窗之間的切換速度很快。Gnome 似乎沒有這種功能。我也不喜歡 Gnome3 的視窗切換方案(alt-tab)。

因此我想知道是否可以通過 DBUS 提高窗戶?如果是,則可以編寫腳本並為其分配鍵盤快捷鍵。

我在fluxbox wiki上找到了一個腳本,用於wmctrl查找應用程序並在它已經執行時提升它的視窗。否則,腳本將啟動應用程序。我正在使用帶有調整的腳本來支持參數,我已經在我的部落格上記錄了這些參數。

  1. 確保wmctrl已安裝。
sudo apt-get install wmctrl
  1. 將以下腳本添加到您的路徑(可能在 中$HOME/bin/find_app.sh),並使其可執行。
#!/bin/bash
# Find_app

# Author: Lucas van Staden (lvs at dedmeet.com / http://www.dedmeet.com)
# This little script will try and find the application attempting to start
# in the running processes, and if found, focus the application
# if not found, a new instance will start

# usage:
# find_app.sh <application with full path>

# params
# 1 - application to start (full path)

# helper applications
DOLLARONE=$(echo $1 | sed -e 's/[\t ]*$//') #Delete trailing spaces
WMCTRL=`which wmctrl`;
GREP=`which grep`;
APPLICATION=$(echo $DOLLARONE | cut -d ' ' -f 1)
if [ "x$APPLICATION" != "x$DOLLARONE" ]; then
 APPARGS=$(echo $DOLLARONE | cut -d ' ' -f 2)
fi
BASENAME=`basename $APPLICATION`;
BASENAME=`echo $BASENAME | tr "[:upper:]" "[:lower:]"`
FOUND=0;
function findwindow {
# 1 = BASENAME
# 2 = WMCTRL
# 3 = GREP
       IFS=$'\n';
       for RUNNING in `$2 -l -x`
       do
               if [ `echo $RUNNING | tr "[:upper:]" "[:lower:]" | $3 -c $DOLLARONE` -gt 0 ]
               then
                       HOSTNAME=`hostname`
                       WINDOW=${RUNNING#*${HOSTNAME} }
                       $2 -a $WINDOW
                       FOUND=1;
               fi;
       done
}
if [ "x$APPARGS" = "x" ]; then
 findwindow $BASENAME $WMCTRL $GREP;
 if [ $FOUND -eq 0 ]
 then
         $APPLICATION &
         sleep 2;
         # Try and find the application, after opened
         findwindow $BASENAME $WMCTRL $GREP;
         if [ $FOUND -eq 0 ]
         then
                 # Still not found, wait a bit more, and try again
                 sleep 3;
                 findwindow $BASENAME $WMCTRL $GREP;
         fi
 fi
else
 $APPLICATION $APPARGS &
fi
  1. 更新您希望具有用於啟動和啟動的單一快捷方式的應用程序的桌麵條目文件,以便通過上述腳本呼叫應用程序。

例如:

cp /usr/share/applications/firefox.desktop ~/.local/share/applications/

編輯firefox.desktop~/.local/share/applications/更改該Exec行以引用find_app.sh

Exec=find_app.sh "firefox %u"
  1. 現在為您的預設瀏覽器添加鍵盤快捷鍵:

系統設置 | 鍵盤 | 捷徑 | 發射器 | 啟動網路瀏覽器 5. 重新啟動 gnome shell:按下Alt r以調出執行對話框。鍵入r並按Enter

您現在應該能夠使用單個鍵盤快捷鍵啟動/啟動瀏覽器。

引用自:https://unix.stackexchange.com/questions/13207