Можно ли иметь ярлык для переключения в n-е окно списка задач xfce в Xubuntu, как в Windows? [дубликат]

Есть ли способ открыть окна из панели Windows с помощью ярлыка? например, чтобы открыть первое окно слева Ctrl + 1, чтобы открыть второе окно слева Ctrl + 2.

В данный момент я использую xfce4, но если в xfce4 это невозможно, есть ли другая среда рабочего стола, позволяющая это?

Поскольку у меня открыто несколько окон для одного и того же приложения, я не ищу команды сортировки, связанные с приложение, но, как я говорю ниже, в окно.

5
задан 22 April 2016 в 23:22

2 ответа

С помощью небольшого скрипта и небольшой операции в вашей системе все можно организовать в точности так, как вы описываете.

Ingredients

  1. wmctrl ; возможно, его необходимо установить.
  2. Сценарий ниже
  3. xprop , чтобы получить свойства окна. Он уже установлен в вашей системе.
  4. Изменения настроек в настройках панели xfce
  5. Дополнительные сочетания клавиш

Как настроить

  • Установить wmctrl :

     sudo apt-get install  wmctrl
     
  • Создайте каталог ~ / bin ( / home / <ваше имя> / bin ). Скопируйте приведенный ниже сценарий в пустой файл, сохраните его как panel_navigate (без расширения) в ~ / bin и сделайте его исполняемым .

  • Изменить настройки панели :
    Выберите «Диспетчер настроек»> «Панель»> «Элементы» (вкладка)> «Кнопки окна»>

    • «Порядок сортировки»> Выберите: Отметка времени
    • «Группировка окон»> Выберите: «Никогда»
    • Убедитесь, что для параметра «Показывать окна из всех рабочих пространств или видовых экранов» установлено и галочки

    enter image description here

  • Добавить сочетания клавиш:
    перейдите в «Диспетчер настроек»> «Клавиатура»> «Ярлыки приложений», выберите «Добавить». Добавьте команду:

     panel_navigate 1
     

    Установите для него комбинацию клавиш Ctrl + 1

    enter image description here

  • Теперь вы можете выбрать:

    • , чтобы повторить эту процедуру, чтобы добавить panel_navigate 2 под Ctrl + 2 и так далее (до 9)

    (опция сохранения) или (если вы не боитесь редактировать файлы конфигурации вручную):

    • вы можно редактировать файл:

       ~ / .config / xfce4 / xfconf / xfce-perchanel-xml / xfce4-keyboard-shortcuts.xml
       

      , в котором хранятся сочетания клавиш (в xfce ). Откройте файл с помощью коврика для мыши и найдите строку вроде:

       
       

      Скопируйте строку, вставьте ее в следующую строку (вставьте) и замените оба вхождения 1 на 2, чтобы получить:

       
       
       

    и так далее ..

    Убедитесь, что отступ точно такой же. Повторяйте процедуру до 9.

Выйдите из системы и снова войдите, и все должно работать:

Ctrl + 1

enter image description here

Ctrl + 3

enter image description here

И так далее. ..

Скрипт

#!/usr/bin/env python3

import subprocess
import sys

def get_value(command):
    return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8").strip()

def run_command(command):
    subprocess.Popen(["/bin/bash", "-c", command])

current_workspace = [l for l in get_value("wmctrl -d").splitlines() if l.split(" ")[2] == "*"][0][0]
wlist_ids = [item.split()[0:4] for item in get_value("wmctrl -l").splitlines()]
relevant = [item for item in wlist_ids if item[1] == current_workspace]
panel = []
for item in relevant:
    data = get_value("xprop -id "+item[0])
    if ("_TYPE_NORMAL" in data, "TYPE_DIALOG" in data).count(True) == 1:
        panel.append(item)
try:
    window = panel[int(sys.argv[1])-1][0]
    run_command("wmctrl -ia "+window)
except IndexError:
    pass

Объяснение

Решение - оппортунистическое. Мне пришло в голову, что список окон, вызываемый командой wmcrl -l , упорядочен по возрасту окон. Если панель xfce делает то же самое (настройки), оба порядка полностью соответствуют друг другу. Сценарий создает список окон, отфильтровывая "реальные" видимые окна (с xprop ) и переключается на выбранное окно с помощью команды panel_navigate с количеством окно (слева направо) как агрумент.

Проблемы

Я заметил одно исключение: окна IDLE (интерпретатора Python) имеют pid 0, и их свойства не могут быть "исследованы" с помощью xprop . Окна не отображаются в списке окон и пропускаются сценарием.

Примечание

Хотя комбинация клавиш Ctrl + <число> не вызывала никаких ошибок, пока тестирование, оно может конфликтовать с некоторыми приложениями. Может быть безопаснее выбрать (например,) Ctrl + Alt + 1

5
ответ дан 5 January 2021 в 23:07

Не уверен для того же приложения , но в Unity вы можете переключать приложения с помощью super + number , например, super + 1 = первый элемент на панели запуска, super + 2 = второй элемент программы запуска, super + n = n-й элемент программы запуска. Это также помогает открыть любой элемент, размещенный на панели запуска, например, если наутилус является первым элементом средства запуска, super + 1 откроет файловый менеджер наутилуса.

2
ответ дан 5 January 2021 в 23:07

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

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