[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/frog-menu ca08068 13/43: Add cleanup handler option
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/frog-menu ca08068 13/43: Add cleanup handler option |
Date: |
Sun, 24 Mar 2019 05:14:45 -0400 (EDT) |
branch: externals/frog-menu
commit ca080688ad850567950cd209a4a7e7b311f30df1
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Add cleanup handler option
---
frog-menu.el | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/frog-menu.el b/frog-menu.el
index 5b8fae4..ce94b08 100644
--- a/frog-menu.el
+++ b/frog-menu.el
@@ -79,7 +79,11 @@ When defining a new menu type, handlers need to be added for
`frog-menu-display-handler-alist'
-`frog-menu-query-handler-alist'."
+`frog-menu-query-handler-alist'
+
+and optionally to
+
+`frog-menu-cleanup-handler-alist'."
:type 'symbol)
@@ -119,6 +123,14 @@ value. If the user exited the query return nil."
:type '(alist :key-type symbol
:value-type function))
+(defcustom frog-menu-cleanup-handler-alist
+ '((avy-posframe . posframe-hide))
+ "Maps `frog-menu-type' to a cleanup handler.
+
+The cleanup handler receives the displayed buffer as argument."
+ :type '(alist :key-type symbol
+ :value-type function))
+
(defcustom frog-menu-after-init-hook '()
"Frog menu init hook.
@@ -364,7 +376,6 @@ gets hidden after the query."
(pos (avy--process
candidates
(avy--style-fn avy-style))))
- (posframe-hide buffer)
(cond ((number-or-marker-p pos)
;; string
(with-current-buffer buffer
@@ -408,7 +419,13 @@ RETURN will be the returned value if KEY is pressed."
(candidates (funcall dhandler buf))
(qhandler (cdr (assq frog-menu-type
frog-menu-query-handler-alist)))
- (res (funcall qhandler candidates actions buf)))
+ (cuhandler (cdr (assq frog-menu-type
+ frog-menu-cleanup-handler-alist)))
+ (res nil))
+ (unwind-protect
+ (setq res (funcall qhandler candidates actions buf))
+ (when cuhandler
+ (funcall cuhandler buf)))
res))
- [elpa] branch externals/frog-menu created (now cd5dd46), Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 1d69fcf 03/43: Formatting fixes, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 7235624 02/43: Adjust frog-menu-avy-keys default value for qwerty, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 2460b67 06/43: Add gitignore, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 20cd2dc 04/43: Add links, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 1af5653 05/43: Checkdoc fixes, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu eedd690 09/43: Fix menu format, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu a5f31be 07/43: Add another example, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu ca08068 13/43: Add cleanup handler option,
Clemens Radermacher <=
- [elpa] externals/frog-menu 864ff1b 14/43: Improve docstring, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 8e81080 17/43: Fix first init error for posframe, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 5846f71 16/43: Allow single candidate jump if no actions, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 9ea2c24 23/43: Change default grid format function to adjust width based on type, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu ebb5f3c 01/43: Initial commit, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 77155d9 28/43: Update docstring, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 72aa25b 22/43: Fix docstring, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu c91a373 26/43: Adjust grid width default for avy-side-window, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 8f58de5 24/43: Update description for new frog-menu-type avy-side-window, Clemens Radermacher, 2019/03/24
- [elpa] externals/frog-menu 5c7d9f4 31/43: Remove scrollbar from screenshot, Clemens Radermacher, 2019/03/24