summaryrefslogtreecommitdiffstats
path: root/engine
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-06-20 14:13:29 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-06-20 14:13:29 +0800
commitb934c65c3be8e2800ffe6a39b7d7dc380bb665fa (patch)
tree845df21476c414d0315d8e3ac4e9c2fe60e844a0 /engine
parent9379f9100cf1bff08c0c997212e0b400ac8a970a (diff)
downloadibus-b934c65c3be8e2800ffe6a39b7d7dc380bb665fa.tar.gz
ibus-b934c65c3be8e2800ffe6a39b7d7dc380bb665fa.tar.xz
ibus-b934c65c3be8e2800ffe6a39b7d7dc380bb665fa.zip
Add argument --daemonize
Diffstat (limited to 'engine')
-rw-r--r--engine/anthy/ibus-engine-anthy.in2
-rw-r--r--engine/anthy/main.py38
-rw-r--r--engine/enchant/ibus-engine-enchant.in2
-rw-r--r--engine/enchant/main.py38
4 files changed, 72 insertions, 8 deletions
diff --git a/engine/anthy/ibus-engine-anthy.in b/engine/anthy/ibus-engine-anthy.in
index 2e44759..a688e0a 100644
--- a/engine/anthy/ibus-engine-anthy.in
+++ b/engine/anthy/ibus-engine-anthy.in
@@ -1,2 +1,2 @@
#!/bin/sh
-python @prefix@/share/ibus/engine/anthy/main.py
+python @prefix@/share/ibus/engine/anthy/main.py $@
diff --git a/engine/anthy/main.py b/engine/anthy/main.py
index 1e752f0..be84968 100644
--- a/engine/anthy/main.py
+++ b/engine/anthy/main.py
@@ -19,6 +19,9 @@
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307 USA
+import os
+import sys
+import getopt
import dbus
import dbus.connection
import dbus.mainloop.glib
@@ -42,11 +45,40 @@ class IMApp:
def _disconnected_cb (self):
print "disconnected"
gtk.main_quit ()
-
-def main ():
+
+def launch_engine ():
+ dbus.mainloop.glib.DBusGMainLoop (set_as_default=True)
IMApp ().run ()
+def print_help (out, v = 0):
+ print >> out, "-h, --help show this message."
+ print >> out, "-d, --daemonize daemonize ibus"
+ sys.exit (v)
+
+def main ():
+ daemonize = False
+ shortopt = "hd"
+ longopt = ["help", "daemonize"]
+ try:
+ opts, args = getopt.getopt (sys.argv[1:], shortopt, longopt)
+ except getopt.GetoptError, err:
+ print_help (sys.stderr, 1)
+
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ print_help (sys.stdout)
+ elif o in ("-d", "--daemonize"):
+ daemonize = True
+ else:
+ print >> sys.stderr, "Unknown argument: %s" % o
+ print_help (sys.stderr, 1)
+
+ if daemonize:
+ if os.fork ():
+ sys.exit ()
+
+ launch_engine ()
+
if __name__ == "__main__":
- dbus.mainloop.glib.DBusGMainLoop (set_as_default=True)
main ()
diff --git a/engine/enchant/ibus-engine-enchant.in b/engine/enchant/ibus-engine-enchant.in
index 2e952cf..a790d1c 100644
--- a/engine/enchant/ibus-engine-enchant.in
+++ b/engine/enchant/ibus-engine-enchant.in
@@ -1,2 +1,2 @@
#!/bin/sh
-python @prefix@/share/ibus/engine/enchant/main.py
+python @prefix@/share/ibus/engine/enchant/main.py $@
diff --git a/engine/enchant/main.py b/engine/enchant/main.py
index 1e752f0..be84968 100644
--- a/engine/enchant/main.py
+++ b/engine/enchant/main.py
@@ -19,6 +19,9 @@
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307 USA
+import os
+import sys
+import getopt
import dbus
import dbus.connection
import dbus.mainloop.glib
@@ -42,11 +45,40 @@ class IMApp:
def _disconnected_cb (self):
print "disconnected"
gtk.main_quit ()
-
-def main ():
+
+def launch_engine ():
+ dbus.mainloop.glib.DBusGMainLoop (set_as_default=True)
IMApp ().run ()
+def print_help (out, v = 0):
+ print >> out, "-h, --help show this message."
+ print >> out, "-d, --daemonize daemonize ibus"
+ sys.exit (v)
+
+def main ():
+ daemonize = False
+ shortopt = "hd"
+ longopt = ["help", "daemonize"]
+ try:
+ opts, args = getopt.getopt (sys.argv[1:], shortopt, longopt)
+ except getopt.GetoptError, err:
+ print_help (sys.stderr, 1)
+
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ print_help (sys.stdout)
+ elif o in ("-d", "--daemonize"):
+ daemonize = True
+ else:
+ print >> sys.stderr, "Unknown argument: %s" % o
+ print_help (sys.stderr, 1)
+
+ if daemonize:
+ if os.fork ():
+ sys.exit ()
+
+ launch_engine ()
+
if __name__ == "__main__":
- dbus.mainloop.glib.DBusGMainLoop (set_as_default=True)
main ()