Существует ли способ установить сочетания клавиш для определенных открытых окон в Gnome?

Я использую Ubuntu 10.10, и я всегда открывал окна:

Браузер, консоль, энергия и Skype. Я хочу установить определенные сочетания клавиш для тех окон. Есть ли способ использовать, например:

Win-C = Google Chrome
Win-T = terminal
Win-S = Skype

Я хочу, чтобы горячие клавиши использования переключились между этими окнами.

7
задан 20 June 2011 в 07:28

4 ответа

Возможно достигнуть этого со сценарием Python. Сценарий требует, чтобы python-wnck и python-gtk были установлены, для работы, хотя я думаю, что они установлены по умолчанию так или иначе.

Скопируйте и вставьте это в текстовый редактор и сохраните в разумном месте (например, switch.py в Вашей домашней папке):

#!/usr/bin/env python2
import wnck
import gtk
import sys
import time

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()

for w in windows:
    if len(sys.argv) > 1:
        if w.get_application().get_name() == sys.argv[1]:
            w.activate(int(time.time()+1))
            break
    else:
        print("Application name of window with title " + repr(w.get_name()) + " is " + repr(w.get_application().get_name()))

Можно затем настроить сочетание клавиш путем открытия Keyboard Shortcuts (System-> Preferences-> Keyboard Shortcuts).

Щелчок добавляет для создания нового ярлыка.

enter image description here

Используйте команду bash -c 'python ~/switch.py Terminal' (это предполагает сохранение его как switch.py в домашней папке). Замените 'Терминал' именем приложения окна, на которое Вы хотите переключиться. Для обнаружения имен приложений в настоящее время открываемых окон работать python ~/switch.py в терминале.

enter image description here

Можно затем присвоить предпочтительную комбинацию клавиатуры этому действию.

7
ответ дан 23 November 2019 в 06:18

Это возможно в Kubuntu (kwin)... нажимают на строку заголовка приложения, выбирают "advanced-> Window Shortcut". Я знаю, что это точно не отвечает на Ваш вопрос - мне любопытно знать, может ли Gnome/единица сделать это также.

3
ответ дан 23 November 2019 в 06:18

Если Вы предпочитаете существующий пакет существует wmctrl, который поддерживает много различных менеджеров окон:

Инструмент обеспечивает доступ командной строки почти ко всем функциям, определенным в спецификации EWMH. Это может использоваться, например, чтобы получить информацию о менеджере окон, получить подробный список рабочих столов и управляемых окон, переключить и изменить размер рабочих столов, сделать полный экран окон, всегда - выше или липкий, и активировать, закрыть, переместить, изменить размер, максимизировать и минимизировать их.

Установите его:

sudo apt-get install wmctrl

Перечислите существующие окна:

wmctrl -l

И карта:

wmctrl -a <WIN>

к сочетанию клавиш.

4
ответ дан 23 November 2019 в 06:18

Следующая адаптация кода от @dv3500ea работала на меня, включая установку фокуса:

#!/usr/bin/env python2
import wnck
import gtk
import sys
import time

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()

for w in windows:
    if len(sys.argv) > 1:
        if w.get_application().get_name() == sys.argv[1]:
            w.activate(gtk.gdk.x11_get_server_time(gtk.gdk.get_default_root_window()))
            break
    else:
        print("Application name of window with title " + repr(w.get_name()) + " is " + repr(w.get_application().get_name()))
0
ответ дан 23 November 2019 в 06:18

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

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