Move popup keymaps to config.el

This prevents void-variable +popup-buffer-mode-map errors that occur in
some hard to reproduce scenarios.

Also ensures that window-persistent-parameters is being restored when
+popup-mode is disabled.
This commit is contained in:
Henrik Lissner 2018-05-30 23:02:36 +02:00
parent 404f9db748
commit abd8f87e28
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 15 additions and 17 deletions

View file

@ -257,15 +257,6 @@ Uses `shrink-window-if-larger-than-buffer'."
;; Minor mode
;;
;;;###autoload
(defvar +popup-mode-map (make-sparse-keymap)
"Active keymap in a session with the popup system enabled. See
`+popup-mode'.")
;;;###autoload
(defvar +popup-buffer-mode-map (make-sparse-keymap)
"Active keymap in popup windows. See `+popup-buffer-mode'.")
;;;###autoload
(define-minor-mode +popup-mode
"Global minor mode representing Doom's popup management system."
@ -291,7 +282,8 @@ Uses `shrink-window-if-larger-than-buffer'."
window--sides-inhibit-check nil)
(+popup|cleanup-rules)
(dolist (prop +popup-window-parameters)
(map-delete window-persistent-parameters prop)))))
(setq window-persistent-parameters
(map-delete window-persistent-parameters prop))))))
;;;###autoload
(define-minor-mode +popup-buffer-mode

View file

@ -97,6 +97,19 @@ a brief description of some native window parameters that Emacs uses:
"The default time-to-live for transient buffers whose popup buffers have been
deleted.")
(defvar +popup-mode-map (make-sparse-keymap)
"Active keymap in a session with the popup system enabled. See
`+popup-mode'.")
(defvar +popup-buffer-mode-map
(let ((map (make-sparse-keymap)))
(when (featurep! :feature evil)
;; for maximum escape coverage in emacs state buffers
(define-key map [escape] #'doom/escape)
(define-key map (kbd "ESC") #'doom/escape))
map)
"Active keymap in popup windows. See `+popup-buffer-mode'.")
;;
;; Default popup rules & bootstrap
@ -148,13 +161,6 @@ deleted.")
+popup|set-modeline-on-enable
+popup|unset-modeline-on-disable))
(let ((map +popup-buffer-mode-map))
(when (featurep! :feature evil)
;; for maximum escape coverage in emacs state buffers
(define-key map [escape] #'doom/escape)
(define-key map (kbd "ESC") #'doom/escape))
map)
;;
;; Hacks