This was originally posted on http://stackoverflow.com/questions/1800452/how-to-intercept-wm-delete-window-on-osx-using-tkinter but seems not to have been reported as a bug. On OS X (10.6.8, python 2.6.1) register a protocol on 'WM_DELETE_WINDOW'. Your callback will get called when the user clicks on the red "kill" icon in the top-left of the window, but the window will still be destroyed. The same file on Python 2.6.5 Linux behaves as it should, i.e. the "kill" icon is effectively disabled on the "win" window.
Works for me using the Pythons installed from the python.org 2.6.6 or 2.7.2 installer and with the current ActiveState Tcl/Tk 8.4 (for 2.6.6) and 8.5 (for 2.7.2) releases installed. Chances are this was a bug in the Apple-supplied Cocoa Tcl/Tk 8.5 released with OS X 10.6 and used by the Apple-supplied Pythons in 10.6. There are many known problems with the Apple-supplied version of Tcl/Tk 8.5. We strongly recommend that you not attempt to use it. See: http://www.python.org/download/mac/tcltk/
History
Date
User
Action
Args
2022-04-11 14:57:19
admin
set
github: 56793
2011-07-18 22:12:20
ned.deily
set
status: open -> closedassignee: ronaldoussoren -> ned.deilyversions: + Python 2.7nosy: + ned.deilymessages: + resolution: out of datestage: resolved