Don't kill scratch or dashboard buffer, but cycle through them on kill attempt

This commit is contained in:
Henrik Lissner 2017-02-20 19:43:57 -05:00
parent 031457bcaf
commit 047ea64e99
3 changed files with 17 additions and 5 deletions

View file

@ -139,7 +139,7 @@ See `doom-real-buffer-p' for what 'real' means."
(setq destbuf (doom-fallback-buffer))
(message "Nowhere to go"))
(prog1
(set-buffer destbuf)
(switch-to-buffer destbuf)
(when (eq destbuf (doom-fallback-buffer))
(cd project-dir)))))
@ -199,8 +199,7 @@ See `doom-real-buffer-p' for what 'real' means."
(when buffer-win
(unrecord-window-buffer buffer-win buffer))
(when only-buffer-window-p
(unless (eq buffer (doom-fallback-buffer))
(kill-buffer buffer))))
(kill-buffer buffer)))
(eq (current-buffer) buffer)))
;;;###autoload

View file

@ -81,6 +81,14 @@
(global-auto-revert-mode 1)
(setq auto-revert-verbose nil)
;; don't kill scratch buffers
(defun doom|dont-kill-scratch-buffer ()
(if (not (eq (buffer-name) "*scratch*"))
t
(bury-buffer)
nil))
(add-hook 'kill-buffer-query-functions 'doom|dont-kill-scratch-buffer)
;;
;; Core Plugins

View file

@ -41,7 +41,12 @@
doom-fallback-buffer +doom-dashboard-name)
(add-hook 'emacs-startup-hook '+doom-dashboard/open)
(@add-hook 'kill-buffer-query-functions (not (+doom-dashboard-p)))
(@add-hook 'kill-buffer-query-functions
(if (not (+doom-dashboard-p))
t
(ignore-errors (+doom-dashboard-force-reload))
(bury-buffer)
nil))
(@add-hook 'window-setup-hook
(add-hook 'window-configuration-change-hook '+doom-dashboard-reload)
(+doom-dashboard-reload))
@ -64,7 +69,7 @@
(and (buffer-live-p buffer)
(eq buffer (doom-fallback-buffer)))))
(defun doom-dashboard-force-reload ()
(defun +doom-dashboard-force-reload ()
(setq +doom-dashboard-edited-p nil)
(+doom-dashboard-reload))