ui/posframe: cleanup invisible posframes on ESC

This is meant to resolve an issue where posframes go rogue (e.g. after
an error), by deleting all (invisible) posframes when you press ESC or
C-g (doom/escape).
This commit is contained in:
Henrik Lissner 2018-03-13 01:21:13 -04:00
parent b181799f93
commit 4fbda15494
No known key found for this signature in database
GPG Key ID: 5F6C0EA160557395
2 changed files with 11 additions and 2 deletions

View File

@ -10,4 +10,13 @@
"TODO"
(let ((pos (posframe-poshandler-frame-center info)))
(cons (car pos)
(truncate (* (cdr pos) 1.60)))))
(truncate (* (cdr pos) 1.4)))))
;;;###autoload
(defun +posframe|delete-on-escape ()
"TODO"
(when (cl-loop for frame in (frame-list)
if (and (frame-parameter frame 'posframe-buffer)
(not (frame-visible-p frame)))
return t)
(posframe-delete-all)))

View File

@ -7,7 +7,7 @@
(def-package! posframe
:defer t
:config
(setq posframe-inhibit-double-buffering t))
(add-hook 'doom-escape-hook #'+posframe|delete-on-escape))
(def-package! company-childframe