3
# This file shows how to trap the killing of a window
4
# when the user uses window manager menus (typ. upper left hand corner
5
# menu in the decoration border).
8
### ******* this isn't really called -- read the comments
9
def my_delete_callback():
10
print("whoops -- tried to delete me!")
13
def deathHandler(self, event):
14
print(self, "is now getting nuked. performing some save here....")
16
def createWidgets(self):
18
self.hi_there = Button(self, text='Hello')
19
self.hi_there.pack(side=LEFT)
21
def __init__(self, master=None):
22
Frame.__init__(self, master)
27
### PREVENT WM kills from happening
30
# the docs would have you do this:
32
# self.master.protocol("WM_DELETE_WINDOW", my_delete_callback)
34
# unfortunately, some window managers will not send this request to a window.
35
# the "protocol" function seems incapable of trapping these "aggressive" window kills.
36
# this line of code catches everything, tho. The window is deleted, but you have a chance
37
# of cleaning up first.
38
self.bind_all("<Destroy>", self.deathHandler)