branch: externals/denote
commit aa7bf58234f77c1293dded4e3a907a114a1f1f16
Author: Joseph Turner <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>

    Enable Denote menu bar by default
    
    This change means that merely loading denote.el causes :filter,
    :visible, :active, :label, :suffix, and :selected forms (or their
    aliases) in `denote--menu-contents' to be evaluated.
    
    Currently, `denote--menu-contents' only contains expressions which
    call `bound-and-true-p' and `derived-mode-p', so it's unlikely that
    enabling the Denote menu bar by default will cause breakages.
    
    If `denote--menu-contents' becomes complex, I suggest reverting this
    commit, and then suggesting that users add the following to init.el:
    
    (denote-menu-bar-mode +1)
---
 denote.el | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/denote.el b/denote.el
index a99d02de07..518e74e95c 100644
--- a/denote.el
+++ b/denote.el
@@ -3798,14 +3798,22 @@ This command is meant to be used from a Dired buffer."
      :selected (bound-and-true-p denote-dired-mode)])
   "Contents of the Denote menu.")
 
+(defun denote--menu-bar-enable ()
+  "Enable Denote menu bar."
+  (define-key-after global-map [menu-bar denote]
+    (easy-menu-binding
+     (easy-menu-create-menu "Denote" denote--menu-contents) "Denote")
+    "Tools"))
+
+;; Enable Denote menu bar by default
+(denote--menu-bar-enable)
+
 ;;;###autoload
 (define-minor-mode denote-menu-bar-mode "Show Denote menu bar."
   :global t
+  :init-value t
   (if denote-menu-bar-mode
-      (define-key-after global-map [menu-bar denote]
-        (easy-menu-binding
-         (easy-menu-create-menu "Denote" denote--menu-contents) "Denote")
-        "Tools")
+      (denote--menu-bar-enable)
     (define-key global-map [menu-bar denote] nil)))
 
 (defun denote-context-menu (menu _click)

Reply via email to