diff options
| author | Huang Peng <shawn.p.huang@gmail.com> | 2008-10-15 07:56:03 +0800 |
|---|---|---|
| committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-10-15 07:56:03 +0800 |
| commit | c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04 (patch) | |
| tree | 84eb31c1940fa8df2cd8b67eb2c34aad3875498e /daemon | |
| parent | 5a2f8e1d9d0f14651d9dbd711b77e5f36756fde4 (diff) | |
| download | ibus-c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04.tar.gz ibus-c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04.tar.xz ibus-c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04.zip | |
Fix keyboard shortcut setup problems
Diffstat (limited to 'daemon')
| -rw-r--r-- | daemon/bus.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/daemon/bus.py b/daemon/bus.py index 2cd9f46..5c5cb3a 100644 --- a/daemon/bus.py +++ b/daemon/bus.py @@ -21,6 +21,7 @@ import sys import ibus +import gobject from ibus import keysyms from ibus import modifier from contextmanager import ContextManager @@ -68,7 +69,9 @@ class IBus(ibus.Object): self.__connections = list() self.__prev_key = None + self.__config_load_settings () + def __config_load_settings (self): self.__shortcut_trigger = self.__load_config_shortcut( "general", "keyboard_shortcut_trigger", ibus.CONFIG_GENERAL_SHORTCUT_TRIGGER_DEFAULT) @@ -526,9 +529,11 @@ class IBus(ibus.Object): self.__config.destroy() self.__config = Config(ibusconn) self.__install_config_handlers() + gobject.idle_add (self.__config_load_settings) def __install_config_handlers(self): signals = ( + ("value-changed", self.__config_value_changed_cb), ("destroy", self.__config_destroy_cb), ) for signal, handler in signals: @@ -552,6 +557,17 @@ class IBus(ibus.Object): return keyval, keymask + def __config_value_changed_cb (self, config, section, name, value): + if section == "general": + if name == "keyboard_shortcut_trigger": + self.__shortcut_trigger = self.__load_config_shortcut( + "general", "keyboard_shortcut_trigger", + ibus.CONFIG_GENERAL_SHORTCUT_TRIGGER_DEFAULT) + elif name =="keyboard_shortcut_next_engine": + self.__shortcut_next_engine = self.__load_config_shortcut( + "general", "keyboard_shortcut_next_engine", + ibus.CONFIG_GENERAL_SHORTCUT_NEXT_ENGINE_DEFAULT) + def __config_destroy_cb(self, config): if config == self.__config: self.__config = DefaultConfig() |
