(ibuffer-jump-to-buffer recent-buffer-name)))
(ad-activate 'ibuffer)
(global-set-key (kbd "C-x C-b") 'ibuffer)
+
+(defun frame-list-ignoring-initial-frame ()
+ (filtered-frame-list
+ (lambda (frame)
+ (not (equal "initial_terminal" (terminal-name frame))))))
+
+(defun close-buffers-if-last-frame-deleted (frame)
+ "Close all buffers if the last frame was deleted"
+ (when (equal (list frame) (frame-list-ignoring-initial-frame))
+ (dolist (buffer (buffer-list))
+ (when (and (buffer-file-name buffer) (not (buffer-modified-p buffer)))
+ (kill-buffer buffer)))))
+(add-to-list 'delete-frame-functions #'close-buffers-if-last-frame-deleted)