ui/doom: try alternative to doom-buffer-mode; improve doom-buffer-mode restore for persp

This commit is contained in:
Henrik Lissner 2017-02-22 04:29:04 -05:00
parent 32bc9ce767
commit d81b88673e

View file

@ -55,23 +55,27 @@
(push (cons 'foreground-color (face-foreground 'default)) default-frame-alist) (push (cons 'foreground-color (face-foreground 'default)) default-frame-alist)
;; brighter source buffers ;; brighter source buffers
(defun +doom|buffer-mode-on () (defun doom*brighter-buffer-maybe (buffer &rest _)
(unless (doom-popup-p) (when (and (not doom-buffer-mode)
buffer-file-name
(not (doom-popup-p (selected-window))))
(doom-buffer-mode +1))) (doom-buffer-mode +1)))
;; (add-hook 'find-file-hook '+doom|buffer-mode-on) (advice-add 'switch-to-buffer :after 'doom*brighter-buffer-maybe)
(add-hook 'find-file-hook 'doom-buffer-mode) (advice-add 'display-buffer :after 'doom*brighter-buffer-maybe)
;; Popup buffers should always be dimmed ;; Popup buffers should always be dimmed
(defun +doom|buffer-mode-off () (defun +doom|buffer-mode-off ()
(when doom-buffer-mode (doom-buffer-mode -1))) (when doom-buffer-mode (doom-buffer-mode -1)))
(add-hook 'doom-popup-mode-hook '+doom|buffer-mode-off) (add-hook 'doom-popup-mode-hook '+doom|buffer-mode-off)
(when (@featurep :feature workspaces) (when (@featurep :feature workspaces)
(defun +doom|restore-bright-buffers (windows) (defun +doom|restore-bright-buffers (&rest _)
"Restore `doom-buffer-mode' in buffers when `persp-mode' loads a session." "Restore `doom-buffer-mode' in buffers when `persp-mode' loads a session."
(dolist (window windows) (dolist (buf (persp-buffer-list))
(when (and (doom-real-buffer-p (window-buffer window)) (when (and (doom-real-buffer-p buf)
(not (bound-and-true-p doom-buffer-mode))) (not (buffer-local-value 'doom-buffer-mode buf)))
(doom-buffer-mode +1)))) (with-current-buffer buf
(doom-buffer-mode +1)))))
(add-hook '+workspaces-load-session-hook '+doom|restore-bright-buffers)) (add-hook '+workspaces-load-session-hook '+doom|restore-bright-buffers))
;; Add file icons to doom-neotree ;; Add file icons to doom-neotree