feature/popup: support user-defined delete-window parameter

This commit is contained in:
Henrik Lissner 2018-01-07 05:42:54 -05:00
parent e481a2891a
commit dff4b03fff
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -39,10 +39,15 @@ and enables `+popup-buffer-mode'."
(with-selected-window window
(set-window-parameter window 'popup t)
(set-window-parameter window 'no-other-window t)
(set-window-parameter window 'delete-window #'+popup--destroy)
(set-window-parameter
window 'delete-window
;; if set, we still want to call `+popup--destroy' afterwards.
(if-let* ((fn (window-parameter window 'delete-window)))
(lambda (window) (funcall fn window) (+popup--destroy window))
#'+popup--destroy))
(window-preserve-size
window (memq (window-parameter window 'window-side) '(left right)) t)
(+popup--cancel-buffer-timer)
window (memq (window-parameter window 'window-side)
'(left right)) t)
(+popup-buffer-mode +1)))
(defun +popup--destroy (window)