branch: elpa/popup
commit bec50cc7223c6b803a3ae43f8ece31f0ebdb040f
Merge: 1277ab1 7743199
Author: Tomohiro Matsuyama <[email protected]>
Commit: Tomohiro Matsuyama <[email protected]>
Merge pull request #41 from kostafey/master
Add next/previous page commands.
---
popup.el | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/popup.el b/popup.el
index 443e41b..2eba784 100644
--- a/popup.el
+++ b/popup.el
@@ -832,6 +832,18 @@ KEYMAP is a keymap that will be put on the popup contents."
(popup-scroll-top popup) scroll-top)
(popup-draw popup)))
+(defun popup-page-next (popup)
+ "Select next item of POPUP per `popup-height' range.
+Pages down through POPUP."
+ (dotimes (counter (1- (popup-height popup)))
+ (popup-next popup)))
+
+(defun popup-page-previous (popup)
+ "Select previous item of POPUP per `popup-height' range.
+Pages up through POPUP."
+ (dotimes (counter (1- (popup-height popup)))
+ (popup-previous popup)))
+
(defun popup-scroll-down (popup &optional n)
"Scroll down N of POPUP and draw."
(let ((scroll-top (min (+ (popup-scroll-top popup) (or n 1))
@@ -1195,6 +1207,10 @@ PROMPT is a prompt string when reading events during
event loop."
(popup-next menu))
((eq binding 'popup-previous)
(popup-previous menu))
+ ((eq binding 'popup-page-next)
+ (popup-page-next menu))
+ ((eq binding 'popup-page-previous)
+ (popup-page-previous menu))
((eq binding 'popup-help)
(popup-menu-show-help menu))
((eq binding 'popup-isearch)
@@ -1329,6 +1345,9 @@ the sub menu."
(define-key map "\C-p" 'popup-previous)
(define-key map [up] 'popup-previous)
+ (define-key map [next] 'popup-page-next)
+ (define-key map [prior] 'popup-page-previous)
+
(define-key map [f1] 'popup-help)
(define-key map (kbd "\C-?") 'popup-help)