[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/corfu a353a94291 1/5: Make corfu--frame-timer a frame-p
From: |
ELPA Syncer |
Subject: |
[elpa] externals/corfu a353a94291 1/5: Make corfu--frame-timer a frame-parameter |
Date: |
Thu, 17 Nov 2022 15:57:28 -0500 (EST) |
branch: externals/corfu
commit a353a94291b467efee0c452d396619cc5671736c
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Make corfu--frame-timer a frame-parameter
---
corfu.el | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/corfu.el b/corfu.el
index c1eac3ec24..3c96919233 100644
--- a/corfu.el
+++ b/corfu.el
@@ -294,9 +294,6 @@ The completion backend can override this with
(defvar corfu--frame nil
"Popup frame.")
-(defvar corfu--frame-timer nil
- "Frame hide timer.")
-
(defconst corfu--state-vars
'(corfu--base
corfu--candidates
@@ -395,9 +392,9 @@ The completion backend can override this with
"Make child frame from BUFFER and show it at X/Y with WIDTH/HEIGHT.
PARAMS are frame parameters and FRAME is the existing frame."
- (when corfu--frame-timer
- (cancel-timer corfu--frame-timer)
- (setq corfu--frame-timer nil))
+ (when-let (timer (and frame (frame-parameter frame 'corfu--hide-timer)))
+ (cancel-timer timer)
+ (set-frame-parameter frame 'corfu--hide-timer nil))
(let* ((window-min-height 1)
(window-min-width 1)
(x-gtk-resize-child-frames
@@ -508,8 +505,8 @@ A scroll bar is displayed from LO to LO+BAR."
(defun corfu--hide-frame-deferred ()
"Deferred frame hiding."
- (setq corfu--frame-timer nil)
(when (frame-live-p corfu--frame)
+ (set-frame-parameter corfu--frame 'corfu--frame-timer nil)
(make-frame-invisible corfu--frame)
(with-current-buffer (window-buffer (frame-root-window corfu--frame))
(let ((inhibit-modification-hooks t)
@@ -518,8 +515,10 @@ A scroll bar is displayed from LO to LO+BAR."
(defun corfu--popup-hide ()
"Hide Corfu popup."
- (when (and (frame-live-p corfu--frame) (not corfu--frame-timer))
- (setq corfu--frame-timer (run-at-time 0 nil
#'corfu--hide-frame-deferred))))
+ (when (and (frame-live-p corfu--frame)
+ (not (frame-parameter corfu--frame 'corfu--hide-timer)))
+ (set-frame-parameter corfu--frame 'corfu--hide-timer
+ (run-at-time 0 nil #'corfu--hide-frame-deferred))))
(defun corfu--popup-support-p ()
"Return non-nil if child frames are supported."