Я использую Ubuntu 10.10, и я всегда открывал окна:
Браузер, консоль, энергия и Skype. Я хочу установить определенные сочетания клавиш для тех окон. Есть ли способ использовать, например:
Win-C = Google Chrome
Win-T = terminal
Win-S = Skype
Я хочу, чтобы горячие клавиши использования переключились между этими окнами.
Возможно достигнуть этого со сценарием 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).
Щелчок добавляет для создания нового ярлыка.
Используйте команду bash -c 'python ~/switch.py Terminal'
(это предполагает сохранение его как switch.py в домашней папке). Замените 'Терминал' именем приложения окна, на которое Вы хотите переключиться. Для обнаружения имен приложений в настоящее время открываемых окон работать python ~/switch.py
в терминале.
Можно затем присвоить предпочтительную комбинацию клавиатуры этому действию.
Это возможно в Kubuntu (kwin)... нажимают на строку заголовка приложения, выбирают "advanced-> Window Shortcut". Я знаю, что это точно не отвечает на Ваш вопрос - мне любопытно знать, может ли Gnome/единица сделать это также.
Если Вы предпочитаете существующий пакет существует wmctrl, который поддерживает много различных менеджеров окон:
Инструмент обеспечивает доступ командной строки почти ко всем функциям, определенным в спецификации EWMH. Это может использоваться, например, чтобы получить информацию о менеджере окон, получить подробный список рабочих столов и управляемых окон, переключить и изменить размер рабочих столов, сделать полный экран окон, всегда - выше или липкий, и активировать, закрыть, переместить, изменить размер, максимизировать и минимизировать их.
Установите его:
sudo apt-get install wmctrl
Перечислите существующие окна:
wmctrl -l
И карта:
wmctrl -a <WIN>
к сочетанию клавиш.
Следующая адаптация кода от @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()))