Next: , Previous: Frame Titles, Up: Frames


29.5 Deleting Frames

Frames remain potentially visible until you explicitly delete them. A deleted frame cannot appear on the screen, but continues to exist as a Lisp object until there are no references to it. There is no way to cancel the deletion of a frame aside from restoring a saved frame configuration (see Frame Configurations); this is similar to the way windows behave.

— Command: delete-frame &optional frame force

This function deletes the frame frame after running the hook delete-frame-hook. By default, frame is the selected frame.

A frame cannot be deleted if its minibuffer is used by other frames. Normally, you cannot delete a frame if all other frames are invisible, but if the force is non-nil, then you are allowed to do so.

— Function: frame-live-p frame

The function frame-live-p returns non-nil if the frame frame has not been deleted.

Some window managers provide a command to delete a window. These work by sending a special message to the program that operates the window. When Emacs gets one of these commands, it generates a delete-frame event, whose normal definition is a command that calls the function delete-frame. See Misc Events.