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:
parent
b181799f93
commit
4fbda15494
2 changed files with 11 additions and 2 deletions
|
@ -10,4 +10,13 @@
|
||||||
"TODO"
|
"TODO"
|
||||||
(let ((pos (posframe-poshandler-frame-center info)))
|
(let ((pos (posframe-poshandler-frame-center info)))
|
||||||
(cons (car pos)
|
(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)))
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
(def-package! posframe
|
(def-package! posframe
|
||||||
:defer t
|
:defer t
|
||||||
:config
|
:config
|
||||||
(setq posframe-inhibit-double-buffering t))
|
(add-hook 'doom-escape-hook #'+posframe|delete-on-escape))
|
||||||
|
|
||||||
|
|
||||||
(def-package! company-childframe
|
(def-package! company-childframe
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue