emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/vertico-posframe 1307b80180: Add vertico-posframe-mode-


From: ELPA Syncer
Subject: [elpa] externals/vertico-posframe 1307b80180: Add vertico-posframe-mode-workable-p.
Date: Wed, 15 Nov 2023 00:58:56 -0500 (EST)

branch: externals/vertico-posframe
commit 1307b801802f926a39ef05cf3db58889ecdf193c
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>

    Add vertico-posframe-mode-workable-p.
    
    Fix: Fallback to normal vertical mode in the minibuffer when in the 
terminal. #36
---
 vertico-posframe.el | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/vertico-posframe.el b/vertico-posframe.el
index 5c0421d906..6b173cce51 100644
--- a/vertico-posframe.el
+++ b/vertico-posframe.el
@@ -204,10 +204,16 @@ minibuffer will not be hided by minibuffer-cover."
 (vertico-multiform--define-display-toggle posframe)
 (define-key vertico-multiform-map (kbd "M-P") #'vertico-multiform-posframe)
 
-(cl-defmethod vertico--setup :after (&context (vertico-posframe-mode (eql t)))
+(cl-defmethod vertico--setup
+  :after (&context ((vertico-posframe-mode-workable-p) (eql t)))
   "Setup minibuffer overlay, which pushes the minibuffer content down."
   (add-hook 'minibuffer-exit-hook #'vertico-posframe--minibuffer-exit-hook nil 
'local))
 
+(defun vertico-posframe-mode-workable-p ()
+  "Test `vertico-posframe-mode' is actived and can work or not."
+  (and vertico-posframe-mode
+       (posframe-workable-p)))
+
 (defun vertico-posframe--minibuffer-exit-hook ()
   "The function used by `minibuffer-exit-hook'."
   ;; `vertico--resize-window' have set `max-mini-window-height' to
@@ -215,9 +221,11 @@ minibuffer will not be hided by minibuffer-cover."
   (setq-local max-mini-window-height 1.0)
   (posframe-hide vertico-posframe--buffer))
 
-(cl-defmethod vertico--resize-window (_height &context (vertico-posframe-mode 
(eql t))))
+(cl-defmethod vertico--resize-window
+  (_height &context ((vertico-posframe-mode-workable-p) (eql t))))
 
-(cl-defmethod vertico--display-candidates :after (_candidates &context 
(vertico-posframe-mode (eql t)))
+(cl-defmethod vertico--display-candidates
+  :after (_candidates &context ((vertico-posframe-mode-workable-p) (eql t)))
   "Display candidates in posframe.
 
 1. Let minibuffer-window's height = 1



reply via email to

[Prev in Thread] Current Thread [Next in Thread]