diff options
| author | gcv <gepardcv@gmail.com> | 2020-02-24 12:12:32 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-24 12:12:32 -0800 |
| commit | 9e376db287d058e3eee236f738cc33c4226e1020 (patch) | |
| tree | 4aa81b55c28b49d71741efba28818730aa8f661a | |
| parent | f28a38fc358aa457dfd2f2d10004d708405ee668 (diff) | |
| parent | 070afe091d4aab9889dc184333c15162686ee3b9 (diff) | |
Merge pull request #122 from nex3/cv/fix-frame-delete-cleanup
Add a cleanup hook for frame deletion.
| -rw-r--r-- | perspective.el | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/perspective.el b/perspective.el index e32dc47..a6c4388 100644 --- a/perspective.el +++ b/perspective.el @@ -913,6 +913,7 @@ named collections of buffers and window configurations." (ad-activate 'recursive-edit) (ad-activate 'exit-recursive-edit) (add-hook 'after-make-frame-functions 'persp-init-frame) + (add-hook 'delete-frame-functions 'persp-delete-frame) (add-hook 'ido-make-buffer-list-hook 'persp-set-ido-buffers) (setq read-buffer-function 'persp-read-buffer) (mapc 'persp-init-frame (frame-list)) @@ -920,6 +921,7 @@ named collections of buffers and window configurations." (run-hooks 'persp-mode-hook)) (ad-deactivate-regexp "^persp-.*") + (remove-hook 'delete-frame-functions 'persp-delete-frame) (remove-hook 'after-make-frame-functions 'persp-init-frame) (remove-hook 'ido-make-buffer-list-hook 'persp-set-ido-buffers) (setq read-buffer-function nil) @@ -957,6 +959,12 @@ By default, this uses the current frame." :window-configuration (current-window-configuration) :point-marker (point-marker))))) +(defun persp-delete-frame (frame) + "Clean up perspectives in FRAME. +By default this uses the current frame." + (with-selected-frame frame + (mapcar #'persp-kill (persp-names)))) + (defun persp-make-variable-persp-local (variable) "Make VARIABLE become perspective-local. This means that whenever a new perspective is switched into, the |
