On Tue, 23 Feb 2016 16:19:43 -0600, Wildman wrote: > <snip for brevity>
Thanks to Christian and Chris. You both gave me much to think about and to experiment with. That adds to my on-going learning experience. This is the first thing I tried: The Exit button has this: command=self.quit Then I have this: def clean_up(): # delete temp files root = Tk() app = Window(root) root.protocol("DELETE_WINDOW", clean_up) root.mainloop() And I also tried: root.wm_protocol("WM_DELETE_WINDOW", clean_up) Both worked when the window [X] button was clicked but neither worked when the Exit button was clicked. However, when I removed the protocol statement and replaced with this, it worked for both: import atexit atexit.register(clean_up) Nothing I tried would fire the clean_up routine when the program was force killed. In addition I should mention that I can't us the OS to delete the temp files because a shelled process creates them. It may be possible to still do it but my limited experience does not allow me to pursue it. Anyway, I am happy with the outcome even though I have not found a way to detect when the program is force killed. It is unlikely that would ever occur as long as the program does not lock up. It is up to me to make sure that doesn't happen. :-) Thanks again. -- <Wildman> GNU/Linux user #557453 "Philosophy is common sense with big words." -James Madison -- https://mail.python.org/mailman/listinfo/python-list