Gnome
有沒有辦法根據它們的位置為 GNOME 中的焦點視窗分配鍵盤快捷鍵?
我基本上想繼續使用 GNOME,但模擬 i3 WM 行為,允許您根據視窗的位置聚焦視窗,例如將視窗聚焦到目前視窗的右側,聚焦左側的視窗,等等。我調查了wmutils,它幾乎可以工作,但它不適用於 GNOME。還有另一種方法嗎?
長答案簡短:使用副檔名Put Windows(“使用鍵盤移動焦點”說明了一切)
首先,您檢查它是否目前確實不可能
- 該功能似乎沒有在 GnomeShell CheatSheet 中列出,在 Gnome3 > 鍵盤中也沒有。遺憾的是,似乎在任何地方都沒有詳盡的鍵盤快捷鍵列表。
- 我去了 extensions.gnome.org 並蒐索了一個可以做你想要的擴展,但我發現的只是一個名為“switcher”的擴展,這不是你想要的。**在做任何其他事情之前,你應該在那裡徹底搜尋,**因為我沒有瀏覽 90 頁的結果。實際上有一個擴展可以做到這一點,它被稱為 ‘‘Put Window’’,OP 在我寫完這個答案後發現了它,所以下面的內容僅供參考。
- 您可以決定使用 Alt-tab 並完成它,這似乎是 Gnome3 的方式
然後你嘗試自己使之成為可能
我看到了 3 種做事方式:
- 創建一個 Gnome3 擴展(但我不確定您是否擁有實現所需功能所需的所有功能)。我沒有嘗試這樣做。
- 修改 Gnome3(但這可能不是您期望的答案)。我沒有嘗試這樣做。
- 使用 X11 / Wayland / Mir 來做到這一點。我將在下面解釋我試圖用 X11 做什麼。當心,X11 很快就會成為遺留軟體!目前可能無法使用 Wayland / Mir 做到這一點(但我沒有檢查)
我嘗試使用 xdotool 對 X11 執行此操作
此解決方案無法完全發揮作用。它比其他任何東西都更有趣
你可以試試我的展示select.sh腳本。這是一個大約 200 行的 bash 腳本,所以我不會把它放在這裡,但我會在下面解釋它是如何工作的。要使用它:
- 在您的系統上安裝 xdotool,它應該在您的儲存庫中 :)
- git 複製https://gitlab.com/gabrieldevillers/xdotool-i3ization
- 轉到 Gnome3 > 鍵盤 > 快捷方式 > 個人快捷方式並分別添加 4 個帶有命令的條目,
/path/to/select.sh *direction*
其中*direction*
分別是up
、或down``left``right
腳本問題:
- 它很慢(但可用:試試看)
- 窗戶不得重疊。這是我用來代替我無法判斷視窗是否對使用者可見的事實的條件(請參閱問題“計算部分隱藏視窗的可見區域”和“X:找出視窗是否可見”給使用者,即不被其他人覆蓋”在這個網站上)。這種需求是由於 i3 和 Gnome3 之間的巨大差異:在 Gnome3 中,視窗可以重疊(而且它們確實經常重疊)。
腳本算法:
- 獲取潛在視窗列表:它們必須有一個名稱,在同一個工作區(可選?但要注意有一個帶有程式碼“-1”的奇怪工作區),不在您排除的視窗列表中(可能是可選的,我從那個開始並保留了可能性),可見(在 X11 的意義上,這意味著沒有減少,你知道,就像在 Gnome2 中一樣!)
- 過濾此列表以獲取正確位置的視窗(我的腳本的這部分有很大的改進空間)
- 拿離你最近的那個(在這裡你可以再次改進我的腳本)