[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hydra d96180865c 40/46: hydra.el (hydra-hint-display-al
From: |
Stefan Monnier |
Subject: |
[elpa] externals/hydra d96180865c 40/46: hydra.el (hydra-hint-display-alist): Add |
Date: |
Tue, 25 Oct 2022 22:27:23 -0400 (EDT) |
branch: externals/hydra
commit d96180865cefbb0ef9973cc1e529eddb4aada3f2
Author: Oleh Krehel <ohwoeowho@gmail.com>
Commit: Oleh Krehel <ohwoeowho@gmail.com>
hydra.el (hydra-hint-display-alist): Add
Fixes #317
---
hydra.el | 31 +++++++++++++++++++++++++------
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/hydra.el b/hydra.el
index 8de37de035..aba74ca7ab 100644
--- a/hydra.el
+++ b/hydra.el
@@ -207,6 +207,26 @@ the body or the head."
:type 'sexp
:group 'hydra)
+(declare-function posframe-show "posframe")
+(declare-function posframe-hide "posframe")
+(declare-function posframe-poshandler-window-center "posframe")
+
+(defun hydra-posframe-show (str)
+ (require 'posframe)
+ (posframe-show
+ " *hydra-posframe*"
+ :string str
+ :poshandler #'posframe-poshandler-window-center))
+
+(defun hydra-posframe-hide ()
+ (posframe-hide " *hydra-posframe*"))
+
+(defvar hydra-hint-display-alist
+ (list (list 'lv #'lv-message #'lv-delete-window)
+ (list 'message #'message (lambda () (message "")))
+ (list 'posframe #'hydra-posframe-show #'hydra-posframe-hide))
+ "Store the functions for `hydra-hint-display-type'.")
+
(defcustom hydra-hint-display-type 'lv
"The utility to show hydra hint"
:type '(choice
@@ -494,9 +514,8 @@ Remove :color key. And sort the plist alphabetically."
(setq hydra-curr-map nil)
(unless (and hydra--ignore
(null hydra--work-around-dedicated))
- (if hydra-lv
- (lv-delete-window)
- (message "")))
+ (funcall
+ (nth 2 (assoc hydra-hint-display-type hydra-hint-display-alist))))
nil)
(defvar hydra-head-format "[%s]: "
@@ -912,9 +931,9 @@ KEY is forwarded to `plist-get'."
(message (eval hint)))
(t
(when hydra-is-helpful
- (if hydra-lv
- (lv-message (eval hint))
- (message (eval hint))))))))
+ (funcall
+ (nth 1 (assoc hydra-hint-display-type hydra-hint-display-alist))
+ (eval hint)))))))
(defmacro hydra--make-funcall (sym)
"Transform SYM into a `funcall' to call it."
- [elpa] externals/hydra 1e423933a9 30/46: hydra.el: sexp hints are now supported for :columns, (continued)
- [elpa] externals/hydra 1e423933a9 30/46: hydra.el: sexp hints are now supported for :columns, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 16563fbc4c 31/46: hydra.el (hydra--hint-row): Extract, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 3846e2728f 32/46: hydra.el (hydra-interpose): Extract, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 38a567fc5b 36/46: hydra.el (hydra--hint-from-matrix): Return a list, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 9c4a4711bc 38/46: hydra.el (hydra-key-doc-function-default): Accept also sexp as doc, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra e0e3282efa 39/46: hydra.el (hydra-hint-display-type): Add, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 6842731f08 43/46: hydra.el (hydra-lv): Declare obsolete, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 7081ee6d44 46/46: Merge commit 'f27fce1b2f0a9162e159557bdeb2c0c94defb4d2' into externals/hydra, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra f27fce1b2f 45/46: hydra.el: Bump version, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra aa55bbd196 37/46: hydra.el (hydra--hint-from-matrix): Don't wrap with concat, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra d96180865c 40/46: hydra.el (hydra-hint-display-alist): Add,
Stefan Monnier <=
- [elpa] externals/hydra 480ae63137 42/46: Declare dependency on separate lv package, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra acb69859f3 44/46: hydra-test.el: Update tests for the last commit, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra b4fb3298cd 02/46: hydra.el (hydra--hint-heads-wocol): Ignore dynamic hints, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 2ad0b01611 25/46: hydra.el (hydra--normalize-body): Fixup for Emacs24, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 9ca93bdffb 28/46: hydra.el (defhydra+): Add, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra b7279c7c19 33/46: hydra.el (hydra--hint-row): Prep to return list, Stefan Monnier, 2022/10/25
- [elpa] externals/hydra 8e3698fb53 41/46: hydra-examples.el (hydra-rectangle): Change "p" to "x", Stefan Monnier, 2022/10/25