I'd been using the answer provided in the PyGTK FAQ, but that doesn't seem to work with PyGObject. For your convenience, here is a test case that works with PyGTK, and then a translated version that doesn't work with PyGObject.
PyGTK Version:
import gtkdef raise_window(widget, w2):w2.window.show()w1 = gtk.Window()
w1.set_title('Main window')
w2 = gtk.Window()
w2.set_title('Other window')b = gtk.Button('Move something on top of the other window.\nOr, minimize the''other window.\nThen, click this button to raise the other''window to the front')
b.connect('clicked', raise_window, w2)w1.add(b)w1.show_all()
w2.show_all()w1.connect('destroy', gtk.main_quit)
gtk.main()
PyGObject version:
from gi.repository import Gtkdef raise_window(widget, w2):w2.window.show()w1 = Gtk.Window()
w1.set_title('Main window')
w2 = Gtk.Window()
w2.set_title('Other window')b = Gtk.Button('Move something on top of the other window.\nOr, minimize the''other window.\nThen, click this button to raise the other''window to the front')
b.connect('clicked', raise_window, w2)w1.add(b)w1.show_all()
w2.show_all()w1.connect('destroy', Gtk.main_quit)
Gtk.main()
When I click the button in the PyGObject version, the other window isn't raised, and I get this error:
Traceback (most recent call last):File "test4.py", line 4, in raise_windoww2.window.show()
AttributeError: 'Window' object has no attribute 'window'
So I guess there must be some other way to get the Gdk.window in PyGObject?
Or is there some different/better way of accomplishing the same goal?
Any ideas?