feature/popup: major refactor

+ Defer replacement of 'size attribute in ALIST until popup opening
  (makes :popup definitions a little faster).
+ Define/use +popup-define helper function (for internal use only!)
This commit is contained in:
Henrik Lissner 2018-03-24 04:48:44 -04:00
parent 6e51dd249a
commit db2e2b0642
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 46 additions and 30 deletions

View file

@ -94,6 +94,15 @@ and enables `+popup-buffer-mode'."
(params (map-merge 'list
+popup-default-parameters
(cdr (assq 'window-parameters alist)))))
;; translate side => window-(width|height)
(when-let* ((size (cdr (assq 'size alist)))
(side (or (cdr (assq 'side alist)) 'bottom)))
(map-delete alist 'size)
(map-put alist (if (memq side '(left right))
'window-width
'window-height)
size))
;;
(map-put alist 'window-parameters params)
(nreverse alist))))