Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to quit a pygtk application after last window is closed/destroyed

Is there a way I can tell gtk to automatically call gtk.main_quit() when the last open window of the application is closed/destroyed?

If there is no direct feature offering this functionality, I could think of the following: In the window's destroy method: get a list of open windows in the process, if its empty quit. Is there a way to get such a list?

The obvious solution would be to keep manually track of all open windows, but I would want to avoid this if possible.

like image 608
rumpel Avatar asked Sep 27 '11 10:09

rumpel


2 Answers

the destroy signal of the main window must be connected to gtk main_quit :

window.connect("destroy", gtk.main_quit)
like image 151
Louis Avatar answered Sep 17 '22 20:09

Louis


Use the method gtk.main_level() to get the current nesting level of the main loop. The nesting level is increased by calling the gtk.main() function and reduced by calling the gtk.main_quit() function

like image 28
athanasis Avatar answered Sep 18 '22 20:09

athanasis