如何建立在 GNOME 3 中循環工作區的捷徑?

如何建立在 GNOME 3 中循環工作區的捷徑?

我使用的是 Ubuntu 18.04。我可以找到更改鍵盤快捷鍵以移動到工作區 1、2 等的選項,但似乎沒有選項可以轉到“下一個工作區”,循環瀏覽現有工作區,就像我使用alt+所做的那樣tab跨視窗切換。

單擊 '+「鍵盤快速鍵」視窗中的按鈕來建立自訂捷徑可能會成功。但我不知道我必須使用什麼指令。

答案1

工作空間切換概述GNOME Shell 擴充支援循環。它正式最高支援 GNOME Shell v3.32,但實際上它甚至可以在 Ubuntu 20.04 LTS (Focal Fossa) 上運行。

2022 年 6 月更新:它在 Ubuntu 22.04 LTS 上也能完美運作。

答案2

循環瀏覽工作區

沒有現有的命令可以循環工作區,但一如既往,我們可以做到。

從方便的快捷方式運行下面的腳本,它將完全按照您的描述進行操作:循環瀏覽現有工作區。一旦到達最後一個,它就會跳回第一個。

筆記動態工作區需要設定為false

劇本

使用Wnck,我們可以獲得有關工作區(清單)以及當前工作區的資訊。隨後,我們可以有組織地移動到列出的任何其他工作空間。

請確保Wnck已安裝:

sudo apt install python3-gi gir1.2-wnck-3.0

然後將下面的腳本複製到一個空文件中,另存為cycle_workspaces.py使其可執行並從您選擇的快捷方式運行它。 (跑步:/path/to/cycle_workspaces.py

#!/usr/bin/env python3
import gi
gi.require_version("Wnck", "3.0")
gi.require_version("Gtk", "3.0")
from gi.repository import Wnck, Gtk

scr = Wnck.Screen.get_default()
scr.force_update()

# list existing workspaces
workspaces = scr.get_workspaces()
# get the (index of) current one
currws = workspaces.index(scr.get_active_workspace())
# since first in list has index 0, subtract 1, if index is last,
# move to first index of the list (workspaces)
if currws == len(workspaces) - 1:
    next_workspace = workspaces[0]
# else pick the next in list
else:
    next_workspace = workspaces[currws + 1]
# and activate it...
next_workspace.activate(Gtk.get_current_event_time())

享受!

相關內容