[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico-posframe f6d9dfba52: Simplify vertico-posframe-
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico-posframe f6d9dfba52: Simplify vertico-posframe--display. |
Date: |
Tue, 11 Jan 2022 22:57:47 -0500 (EST) |
branch: externals/vertico-posframe
commit f6d9dfba520744c2724fd1f6101b7f8892665345
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Simplify vertico-posframe--display.
* vertico-posframe.el (vertico-posframe--display)
(vertico-posframe--show)
(vertico-posframe--handle-minibuffer-window)
---
vertico-posframe.el | 43 ++++++++++++++++++++++++-------------------
1 file changed, 24 insertions(+), 19 deletions(-)
diff --git a/vertico-posframe.el b/vertico-posframe.el
index 9cde34007c..ad89f27929 100644
--- a/vertico-posframe.el
+++ b/vertico-posframe.el
@@ -193,32 +193,34 @@ Optional argument FRAME ."
(min width (or vertico-posframe-width width))))))
(defun vertico-posframe--display (_lines)
- "Display LINES in posframe."
- (let ((point (point)))
- (setq vertico-posframe--buffer (current-buffer))
- (setq-local max-mini-window-height 1)
+ "Display _LINES in posframe."
+ (let ((buffer (current-buffer))
+ (point (point)))
+ (setq vertico-posframe--buffer buffer)
(vertico-posframe--handle-minibuffer-window)
- (with-selected-window (vertico-posframe-last-window)
- (vertico-posframe--show vertico-posframe--buffer point))))
+ (vertico-posframe--show buffer point)))
(defun vertico-posframe--show (buffer window-point)
"`posframe-show' of vertico-posframe.
BUFFER will be showed by `posframe-show'. After `posframe-show'
is called, window-point will be set to WINDOW-POINT."
- (let ((posframe (apply #'posframe-show
- buffer
- :font vertico-posframe-font
- :poshandler vertico-posframe-poshandler
- :background-color (face-attribute 'vertico-posframe
:background nil t)
- :foreground-color (face-attribute 'vertico-posframe
:foreground nil t)
- :border-width vertico-posframe-border-width
- :border-color (vertico-posframe--get-border-color)
- :override-parameters vertico-posframe-parameters
- :refposhandler vertico-posframe-refposhandler
- :hidehandler #'vertico-posframe-hidehandler
- :lines-truncate t
- (funcall vertico-posframe-size-function))))
+ (let ((posframe
+ ;; Some posframe poshandlers need infos of last-window.
+ (with-selected-window (vertico-posframe-last-window)
+ (apply #'posframe-show
+ buffer
+ :font vertico-posframe-font
+ :poshandler vertico-posframe-poshandler
+ :background-color (face-attribute 'vertico-posframe
:background nil t)
+ :foreground-color (face-attribute 'vertico-posframe
:foreground nil t)
+ :border-width vertico-posframe-border-width
+ :border-color (vertico-posframe--get-border-color)
+ :override-parameters vertico-posframe-parameters
+ :refposhandler vertico-posframe-refposhandler
+ :hidehandler #'vertico-posframe-hidehandler
+ :lines-truncate t
+ (funcall vertico-posframe-size-function)))))
;; NOTE: `posframe-show' will force set window-point to 0, so we
;; need reset it again after `posframe-show'.
(when (numberp window-point)
@@ -260,6 +262,7 @@ is called, window-point will be set to WINDOW-POINT."
"Handle minibuffer window."
(let ((show-minibuffer-p (vertico-posframe--show-minibuffer-p))
(minibuffer-window (active-minibuffer-window)))
+ (setq-local max-mini-window-height 1)
(window-resize minibuffer-window
(- (window-pixel-height minibuffer-window))
nil nil 'pixelwise)
@@ -277,6 +280,8 @@ is called, window-point will be set to WINDOW-POINT."
(defun vertico-posframe--minibuffer-exit-hook ()
"The function used by `minibuffer-exit-hook'."
+ ;; `vertico--resize-window' have set `max-mini-window-height' to
+ ;; 1.0, so I think setting it to 1.0 here is safe :-).
(setq-local max-mini-window-height 1.0)
(when (posframe-workable-p)
(posframe-hide vertico-posframe--buffer)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/vertico-posframe f6d9dfba52: Simplify vertico-posframe--display.,
ELPA Syncer <=