def activate(self,shell):
self.shell = shell
self.copy_selected()
self.action = gtk.Action ('foo','bar','baz',None)
self.activate_id = self.action.connect ('activate', self.call_bk_fn,self.shell)
self.action_group = gtk.ActionGroup ('hot_key_action_group')
self.action_group.add_action_with_accel (self.action, "<control>E")
uim = shell.get_ui_manager ()
uim.insert_action_group (self.action_group, 0)
uim.ensure_update ()
def call_bk_fn():
print('hello world')
Я использую приведенный выше код в плагине для Rhythmbox, и здесь я пытаюсь зарегистрировать ключ Ctrl + E, чтобы вызвать call_bk_fn
всякий раз, когда нажата комбинация клавиш но его не работает.
Почему это так?
У меня нет знаний о подключаемом модуле.
Однако у Ubuntu есть другое решение для этого: -)
Перейти к: Система> Настройки> Клавиши быстрого доступа
справа вверху под «звуком» вы можете установить клавиши действия, включая следующую дорожку, воспроизведение, паузу, уменьшение громкости и т. д.