Comment 3 for bug 270856

Revision history for this message
Michiel de Hoon (mjldehoon) wrote :

> Before this is committed - what does this interactive event loop mean?

gtk.set_interactive works essentially the same as Tkinter's interactive event loop. gtk.set_interactive(True) causes gtk's event loop to run automatically whenever Python is waiting for the user to type in the next Python command. After gtk.set_interactive(False), the *automatic* launching of the event loop no longer happens. Otherwise, it has no effect on gtk's event loops.

> Could it be used to avoid launching a thread for gtk event loop (which is possible with tk and qt4)?

You mean if gtk.set_interactive(False) could interfere with launching a thread for the gtk event loop?
No, it cannot. In brief,
>>> import gtk; gtk.set_interactive(False)
with the new PyGTK is identical to
>>> import gtk
with the old PyGTK.

I have tried this patch with ipython with the new PyGTK. With this patch,

ipython -gthread
>>> import gtk
>>> w = gtk.Window()
>>> w.show()

opens an interactive gtk window as it should. Without the patch, ipython hangs after the "import gtk".