From 44d49d5ccc376f5a8c7280f76cd7a4eff0fa54a0 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Sun, 11 Jul 2021 08:08:20 +0200 Subject: Close popup on click --- corfu.el | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/corfu.el b/corfu.el index 15f279c..2bf47af 100644 --- a/corfu.el +++ b/corfu.el @@ -243,11 +243,19 @@ filter string with spaces is allowed." (buffer-read-only . t)) "Default child frame buffer parameters.") +(defun corfu--popup-hide-on-click () + "Close if mouse events land in the popup." + (when (mouse-event-p last-input-event) + (select-frame (frame-parent corfu--frame) 'norecord) + (corfu--popup-hide) + (setq this-command #'ignore))) + (defun corfu--make-buffer (content) "Create corfu buffer with CONTENT." (let ((fr face-remapping-alist) (buffer (get-buffer-create " *corfu*"))) (with-current-buffer buffer + (add-hook 'pre-command-hook #'corfu--popup-hide-on-click nil 'local) (dolist (var corfu--buffer-parameters) (set (make-local-variable (car var)) (cdr var))) (setq-local face-remapping-alist fr) -- cgit v1.0