From 01f57aa0dfc50fee483cfacf561b3b7c08466813 Mon Sep 17 00:00:00 2001 From: Marco Wahl Date: Mon, 14 Dec 2020 01:37:25 +0100 Subject: [PATCH] org-macs: Make org-mks window navigable when needed * lisp/org-macs.el (org-mks): Activate keys for scrolling when the whole text does not fit into the visible portion of the window. https://orgmode.org/list/trinity-ac492dc8-9edb-46e6-871a-fdbb9eaa3116-1607796126691@3c-app-mailcom-bs06/ --- lisp/org-macs.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/org-macs.el b/lisp/org-macs.el index f375c33d9..506fba8aa 100644 --- a/lisp/org-macs.el +++ b/lisp/org-macs.el @@ -461,9 +461,15 @@ is selected, only the bare key is returned." ;; Display UI and let user select an entry or ;; a sub-level prefix. (goto-char (point-min)) - (unless (pos-visible-in-window-p (point-max)) - (org-fit-window-to-buffer)) + (setq header-line-format nil) + (org-fit-window-to-buffer) + (unless (pos-visible-in-window-p (1- (point-max))) + (setq header-line-format "Use C-n, C-p or C-v to navigate.") + (setq allowed-keys (append allowed-keys '("\C-n" "\C-p" "\C-v")))) (let ((pressed (org--mks-read-key allowed-keys prompt))) + (while (and (member pressed '("\C-n" "\C-p" "\C-v"))) + (org-scroll (string-to-char pressed)) + (setq pressed (org--mks-read-key allowed-keys prompt))) (setq current (concat current pressed)) (cond ((equal pressed "\C-g") (user-error "Abort"))