summaryrefslogtreecommitdiffstats
path: root/ibus/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'ibus/common.py')
-rw-r--r--ibus/common.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/ibus/common.py b/ibus/common.py
index 11e8185..7180acb 100644
--- a/ibus/common.py
+++ b/ibus/common.py
@@ -38,7 +38,8 @@ __all__ = (
"CONFIG_GENERAL_SHORTCUT_NEXT_ENGINE_DEFAULT",
"CONFIG_GENERAL_SHORTCUT_PREV_ENGINE_DEFAULT",
"main",
- "main_quit"
+ "main_quit",
+ "main_iteration"
)
import os
@@ -100,12 +101,14 @@ CONFIG_GENERAL_SHORTCUT_PREV_ENGINE_DEFAULT = []
__mainloop = None
-def main():
+def __init_main_loop():
global __mainloop
if __mainloop == None:
import gobject
__mainloop = gobject.MainLoop()
+def main():
+ __init_main_loop()
__mainloop.run()
def main_quit():
@@ -113,3 +116,6 @@ def main_quit():
if __mainloop:
__mainloop.quit()
+def main_iteration(may_block=False):
+ __init_main_loop()
+ return __mainloop.get_context().iteration(may_block)