feature/workspaces: fix infinite recursion in buffer-predicate #399

By refactoring so that the middle-man buffer predicate wasn't necessary.
This commit is contained in:
Henrik Lissner 2018-02-03 18:06:44 -05:00
parent 76a1e8a279
commit 3830a8aba1
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 3 additions and 8 deletions

View file

@ -491,7 +491,7 @@ character that looks like a space that `whitespace-mode' won't affect.")
;; simple name in frame title ;; simple name in frame title
(setq frame-title-format '("%b Doom Emacs")) (setq frame-title-format '("%b Doom Emacs"))
;; make `next-buffer', `other-buffer', etc. ignore unreal buffers ;; make `next-buffer', `other-buffer', etc. ignore unreal buffers
(push '(buffer-predicate . doom-buffer-frame-predicate) default-frame-alist) (map-put default-frame-alist 'buffer-predicate #'doom-buffer-frame-predicate)
;; draw me like one of your French editors ;; draw me like one of your French editors
(tooltip-mode -1) ; relegate tooltips to echo area only (tooltip-mode -1) ; relegate tooltips to echo area only
(menu-bar-mode -1) (menu-bar-mode -1)

View file

@ -29,14 +29,9 @@ stored in `persp-save-dir'.")
(def-package! persp-mode (def-package! persp-mode
:defer t :defer t
:init :init
(defun +workspaces-buffer-predicate (buf)
(funcall (if persp-mode
(frame-parameter nil 'persp-buffer-predicate-generated)
#'doom-buffer-frame-predicate)
buf))
(defun +workspaces|init () (defun +workspaces|init ()
(map-put default-frame-alist 'buffer-predicate #'+workspaces-buffer-predicate) ;; Remove default buffer predicate so persp-mode can put in its own
(setq default-frame-alist (map-delete default-frame-alist 'buffer-predicate))
(add-hook 'after-make-frame-functions #'+workspaces|init-frame) (add-hook 'after-make-frame-functions #'+workspaces|init-frame)
(require 'persp-mode) (require 'persp-mode)
(unless (daemonp) (unless (daemonp)