Gnome

有沒有辦法根據它們的位置為 GNOME 中的焦點視窗分配鍵盤快捷鍵?

  • November 27, 2021

我基本上想繼續使用 GNOME,但模擬 i3 WM 行為,允許您根據視窗的位置聚焦視窗,例如將視窗聚焦到目前視窗的右側,聚焦左側的視窗,等等。我調查了wmutils,它幾乎可以工作,但它不適用於 GNOME。還有另一種方法嗎?

長答案簡短:使用副檔名Put Windows(“使用鍵盤移動焦點”說明了一切)

首先,您檢查它是否目前確實不可能

  1. 該功能似乎沒有在 GnomeShell CheatSheet 中列出,在 Gnome3 > 鍵盤中也沒有。遺憾的是,似乎在任何地方都沒有詳盡的鍵盤快捷鍵列表。
  2. 我去了 extensions.gnome.org 並蒐索了一個可以做你想要的擴展,但我發現的只是一個名為“switcher”的擴展,這不是你想要的。**在做任何其他事情之前,你應該在那裡徹底搜尋,**因為我沒有瀏覽 90 頁的結果。實際上有一個擴展可以做到這一點,它被稱為 ‘‘Put Window’’,OP 在我寫完這個答案後發現了它,所以下面的內容僅供參考。
  3. 您可以決定使用 Alt-tab 並完成它,這似乎是 Gnome3 的方式

然後你嘗試自己使之成為可能

我看到了 3 種做事方式:

  • 創建一個 Gnome3 擴展(但我不確定您是否擁有實現所需功能所需的所有功能)。我沒有嘗試這樣做。
  • 修改 Gnome3(但這可能不是您期望的答案)。我沒有嘗試這樣做。
  • 使用 X11 / Wayland / Mir 來做到這一點。我將在下面解釋我試圖用 X11 做什麼。當心,X11 很快就會成為遺留軟體!目前可能無法使用 Wayland / Mir 做到這一點(但我沒有檢查)

我嘗試使用 xdotool 對 X11 執行此操作

此解決方案無法完全發揮作用。它比其他任何東西都更有趣

你可以試試我的展示select.sh腳本。這是一個大約 200 行的 bash 腳本,所以我不會把它放在這裡,但我會在下面解釋它是如何工作的。要使用它:

  1. 在您的系統上安裝 xdotool,它應該在您的儲存庫中 :)
  2. git 複製https://gitlab.com/gabrieldevillers/xdotool-i3ization
  3. 轉到 Gnome3 > 鍵盤 > 快捷方式 > 個人快捷方式並分別添加 4 個帶有命令的條目,/path/to/select.sh *direction* 其中*direction*分別是up、或down``left``right

腳本問題:

  1. 它很慢(但可用:試試看)
  2. 窗戶不得重疊。這是我用來代替我無法判斷視窗是否對使用者可見的事實的條件(請參閱問題“計算部分隱藏視窗的可見區域”和“X:找出視窗是否可見”給使用者,即不被其他人覆蓋”在這個網站上)。這種需求是由於 i3 和 Gnome3 之間的巨大差異:在 Gnome3 中,視窗可以重疊(而且它們確實經常重疊)。

腳本算法:

  1. 獲取潛在視窗列表:它們必須有一個名稱,在同一個工作區(可選?但要注意有一個帶有程式碼“-1”的奇怪工作區),不在您排除的視窗列表中(可能是可選的,我從那個開始並保留了可能性),可見(在 X11 的意義上,這意味著沒有減少,你知道,就像在 Gnome2 中一樣!)
  2. 過濾此列表以獲取正確位置的視窗(我的腳本的這部分有很大的改進空間)
  3. 拿離你最近的那個(在這裡你可以再次改進我的腳本)

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