branch: elpa/popup commit bec50cc7223c6b803a3ae43f8ece31f0ebdb040f Merge: 1277ab1 7743199 Author: Tomohiro Matsuyama <t...@cx4a.org> Commit: Tomohiro Matsuyama <t...@cx4a.org>
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)