summaryrefslogtreecommitdiffstats
path: root/ibus/common.py
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-08-13 11:04:32 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-08-13 11:04:32 +0800
commit9e2c9217c60ca9c58b5071ec8a0da1a4abfef2d5 (patch)
treeb871594843baff5ba6f1a2088429eb113b4877d4 /ibus/common.py
parentcb0293353d50fc3c9bd38f06f9a052cd6405924f (diff)
downloadibus-9e2c9217c60ca9c58b5071ec8a0da1a4abfef2d5.tar.gz
ibus-9e2c9217c60ca9c58b5071ec8a0da1a4abfef2d5.tar.xz
ibus-9e2c9217c60ca9c58b5071ec8a0da1a4abfef2d5.zip
Refine launcher code.
Diffstat (limited to 'ibus/common.py')
-rw-r--r--ibus/common.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/ibus/common.py b/ibus/common.py
index e0a4561..bd84862 100644
--- a/ibus/common.py
+++ b/ibus/common.py
@@ -30,7 +30,9 @@ __all__ = (
"IBUS_PANEL_IFACE",
"default_reply_handler",
"default_error_handler",
- "DEFAULT_ASYNC_HANDLERS"
+ "DEFAULT_ASYNC_HANDLERS",
+ "main",
+ "main_quit"
)
import os
@@ -76,3 +78,19 @@ DEFAULT_ASYNC_HANDLERS = {
"reply_handler" : default_reply_handler,
"error_handler" : default_error_handler
}
+
+__mainloop = None
+
+def main():
+ global __mainloop
+ if __mainloop == None:
+ import gobject
+ __mainloop = gobject.MainLoop()
+
+ __mainloop.run()
+
+def main_quit():
+ global __mainloop
+ if __mainloop:
+ __mainloop.quit()
+