diff options
author | fujiwarat <takao.fujiwara1@gmail.com> | 2014-07-16 14:57:34 +0900 |
---|---|---|
committer | fujiwarat <takao.fujiwara1@gmail.com> | 2014-07-16 14:57:34 +0900 |
commit | e6323369582831b5260c216237a5a4f355051264 (patch) | |
tree | cf5f07e83d6d19fe022b8f3b55f8f24235e4da91 | |
parent | 44b089e73b911db560245768de193d771dd620af (diff) | |
download | ibus-anthy-e6323369582831b5260c216237a5a4f355051264.tar.gz |
Set a parent window from 'IBUS_SETUP_XID' environment variable in setup.
-rw-r--r-- | setup/python2/main.py | 25 | ||||
-rw-r--r-- | setup/python3/main.py | 25 |
2 files changed, 40 insertions, 10 deletions
diff --git a/setup/python2/main.py b/setup/python2/main.py index 424e703..a6a31b3 100644 --- a/setup/python2/main.py +++ b/setup/python2/main.py @@ -82,22 +82,37 @@ class AnthySetup(object): builder.add_from_file(builder_file) toplevel = builder.get_object('main') + parent_xid = 0 + parent_wmname = None + parent_wmclass = None try: - gnome_control_center_xid = int(environ['GNOME_CONTROL_CENTER_XID']) + parent_xid = int(environ['IBUS_SETUP_XID']) + if parent_xid != 0: + parent_wmname = 'ibus-setup' + parent_wmclass = 'Ibus-setup' except: - gnome_control_center_xid = 0 + pass + + try: + if parent_xid == 0: + parent_xid = int(environ['GNOME_CONTROL_CENTER_XID']) + if parent_xid != 0: + parent_wmname = 'gnome-conrol-center' + parent_wmclass = 'Gnome-conrol-center' + except: + pass - if gnome_control_center_xid != 0: + if parent_xid != 0: def set_transient(obj, pspec): window = toplevel.get_window() if window == None: return parent_window = GdkX11.X11Window.foreign_new_for_display(Gdk.Display.get_default(), - gnome_control_center_xid) + parent_xid) if parent_window != None: window.set_transient_for(parent_window) - toplevel.set_wmclass('gnome-control-center', 'Gnome-control-center') + toplevel.set_wmclass(parent_wmname, parent_wmclass) toplevel.set_modal(True) toplevel.set_type_hint(Gdk.WindowTypeHint.DIALOG) toplevel.connect('notify::window', set_transient) diff --git a/setup/python3/main.py b/setup/python3/main.py index e1ca22e..107affa 100644 --- a/setup/python3/main.py +++ b/setup/python3/main.py @@ -85,22 +85,37 @@ class AnthySetup(object): builder.add_from_file(builder_file) toplevel = builder.get_object('main') + parent_xid = 0 + parent_wmname = None + parent_wmclass = None try: - gnome_control_center_xid = int(environ['GNOME_CONTROL_CENTER_XID']) + parent_xid = int(environ['IBUS_SETUP_XID']) + if parent_xid != 0: + parent_wmname = 'ibus-setup' + parent_wmclass = 'Ibus-setup' except: - gnome_control_center_xid = 0 + pass + + try: + if parent_xid == 0: + parent_xid = int(environ['GNOME_CONTROL_CENTER_XID']) + if parent_xid != 0: + parent_wmname = 'gnome-conrol-center' + parent_wmclass = 'Gnome-conrol-center' + except: + pass - if gnome_control_center_xid != 0: + if parent_xid != 0: def set_transient(obj, pspec): window = toplevel.get_window() if window == None: return parent_window = GdkX11.X11Window.foreign_new_for_display(Gdk.Display.get_default(), - gnome_control_center_xid) + parent_xid) if parent_window != None: window.set_transient_for(parent_window) - toplevel.set_wmclass('gnome-control-center', 'Gnome-control-center') + toplevel.set_wmclass(parent_wmname, parent_wmclass) toplevel.set_modal(True) toplevel.set_type_hint(Gdk.WindowTypeHint.DIALOG) toplevel.connect('notify::window', set_transient) |