rumpel
rumpel

Reputation: 8290

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.

Upvotes: 5

Views: 3393

Answers (2)

athanasis
athanasis

Reputation: 29

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

Upvotes: 2

Louis
Louis

Reputation: 2890

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

window.connect("destroy", gtk.main_quit)

Upvotes: 6

Related Questions