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 ;; 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 ;;;###autoload
(define-minor-mode +popup-mode (define-minor-mode +popup-mode
"Global minor mode representing Doom's popup management system." "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) window--sides-inhibit-check nil)
(+popup|cleanup-rules) (+popup|cleanup-rules)
(dolist (prop +popup-window-parameters) (dolist (prop +popup-window-parameters)
(map-delete window-persistent-parameters prop))))) (setq window-persistent-parameters
(map-delete window-persistent-parameters prop))))))
;;;###autoload ;;;###autoload
(define-minor-mode +popup-buffer-mode (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 "The default time-to-live for transient buffers whose popup buffers have been
deleted.") 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 ;; Default popup rules & bootstrap
@ -148,13 +161,6 @@ deleted.")
+popup|set-modeline-on-enable +popup|set-modeline-on-enable
+popup|unset-modeline-on-disable)) +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 ;; Hacks