summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfujiwarat <takao.fujiwara1@gmail.com>2014-07-16 14:57:34 +0900
committerfujiwarat <takao.fujiwara1@gmail.com>2014-07-16 14:57:34 +0900
commite6323369582831b5260c216237a5a4f355051264 (patch)
treecf5f07e83d6d19fe022b8f3b55f8f24235e4da91
parent44b089e73b911db560245768de193d771dd620af (diff)
downloadibus-anthy-e6323369582831b5260c216237a5a4f355051264.tar.gz
Set a parent window from 'IBUS_SETUP_XID' environment variable in setup.
-rw-r--r--setup/python2/main.py25
-rw-r--r--setup/python3/main.py25
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)