Как создать ярлык для циклического перемещения по рабочим пространствам?

Я использую Ubuntu 18.04. Я могу найти возможность изменить сочетания клавиш для перемещения в рабочую область 1, 2 и т. Д., Но, похоже, нет возможности перейти в «следующее рабочее пространство», циклически перемещаться по существующим рабочим областям, как я сделал бы с < kbd> alt + tab для переключения между окнами.

Нажатие кнопки « + » в окне «сочетания клавиш» для создания настраиваемого сочетания клавиш, вероятно, поможет. Но я не знаю, какую команду я бы использовал.

2
задан 11 June 2019 в 02:25

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())

Наслаждайтесь!

0
ответ дан 11 June 2019 в 02:25

Расширение Workspace Switch Wraparound GNOME Shell позволяет циклически переключаться. Он официально поддерживает до GNOME Shell v3.32, но на практике работает даже на Ubuntu 20.04 LTS (Focal Fossa).

3
ответ дан 24 June 2020 в 09:31

Другие вопросы по тегам:

Похожие вопросы: