emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/which-key a256c4b 13/51: Use which-key-idle-secondary-d


From: Stefan Monnier
Subject: [elpa] externals/which-key a256c4b 13/51: Use which-key-idle-secondary-delay value in manual updates
Date: Tue, 8 Sep 2020 10:26:16 -0400 (EDT)

branch: externals/which-key
commit a256c4bce66d3805af07cc9f3dec5baeae1808de
Author: Justin Burkett <justin@burkett.cc>
Commit: Justin Burkett <justin@burkett.cc>

    Use which-key-idle-secondary-delay value in manual updates
---
 README.org   | 11 +++++++----
 which-key.el | 21 ++++++++++++++-------
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/README.org b/README.org
index a413344..ee57388 100644
--- a/README.org
+++ b/README.org
@@ -142,10 +142,13 @@
    along the following lines
 
    #+BEGIN_SRC emacs-lisp
-   ;; make sure which-key doesn't show normally
-   (setq which-key-idle-delay 1000)
-   (which-key-mode)
-   (setq prefix-help-command 'which-key-manual-update)
+     ;; make sure which-key doesn't show normally
+     (setq which-key-idle-delay 1000)
+     ;; which-key-manual-update uses this variable to control refreshing the
+     ;; which-key buffer after new keypresses
+     (setq which-key-idle-secondary-delay 0.05)
+     (which-key-mode)
+     (setq prefix-help-command 'which-key-manual-update)
    #+END_SRC
 
    This will prevent which-key from showing automatically, and allow you to use
diff --git a/which-key.el b/which-key.el
index b6ae912..8937436 100644
--- a/which-key.el
+++ b/which-key.el
@@ -2588,12 +2588,13 @@ Finally, show the buffer."
 (defun which-key-manual-update ()
   "Force which-key update.
 
-This command is intended to be used for `prefix-help-command', as
-follows
+This command is intended to be used for `prefix-help-command'. An
+example configuration for using this command is the following.
 
-\(setq prefix-help-command 'which-key-manual-update).
-
-This should be set after activating `which-key-mode'."
+\(setq which-key-idle-delay 1000)
+\(setq which-key-idle-secondary-delay 0.05)
+\(which-key-mode)
+\(setq prefix-help-command 'which-key-manual-update)"
   (interactive)
   (if (which-key--popup-showing-p)
       (which-key-C-h-dispatch)
@@ -2601,7 +2602,9 @@ This should be set after activating `which-key-mode'."
             (butlast
              (listify-key-sequence (which-key--this-command-keys)))))
       (which-key-reload-key-sequence current-prefix)
-      (which-key--start-timer 0.05 t))))
+      (if which-key-idle-secondary-delay
+          (which-key--start-timer which-key-idle-secondary-delay t)
+        (which-key--start-timer 0.05 t)))))
 
 (defun which-key--update ()
   "Function run by timer to possibly trigger
@@ -2689,7 +2692,11 @@ This should be set after activating `which-key-mode'."
                                 (not (equal (which-key--current-prefix)
                                             (which-key--this-command-keys)))))
                    (cancel-timer which-key--paging-timer)
-                   (which-key--start-timer))))))
+                   (if which-key-idle-secondary-delay
+                       ;; we haven't executed a command yet so the secandary
+                       ;; timer is more relevant here
+                       (which-key--start-timer which-key-idle-secondary-delay 
t)
+                     (which-key--start-timer)))))))
 
 (provide 'which-key)
 ;;; which-key.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]