summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-04-26 20:06:50 -0700
committerCarl Worth <cworth@cworth.org>2010-04-26 20:08:30 -0700
commit7df0e611df9275bf2330bc73895e2d729a157adc (patch)
treed851528b79dcd2dcb80b085055c53c6f1cc4e85c
parent7fa6306cae69ed56c15f0a233c2c3318a5573372 (diff)
emacs: notmuch-hello: Make viewing of all tags conditional.
And off by default. There's a notmuch-hello-show-tags option in customize to toggle the default setting, as well as buttons to persistently toggle the visibility for the current session. I have enough tags in my database that it's quite a bit faster for notmuch-hello to come up without showing the tags.
-rw-r--r--emacs/notmuch-hello.el31
1 files changed, 25 insertions, 6 deletions
diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
index 09bc6b7..936d546 100644
--- a/emacs/notmuch-hello.el
+++ b/emacs/notmuch-hello.el
@@ -57,6 +57,11 @@
:type 'boolean
:group 'notmuch)
+(defcustom notmuch-hello-show-tags nil
+ "Should all tags be shown in the notmuch-hello view?"
+ :type 'boolean
+ :group 'notmuch)
+
(defface notmuch-hello-logo-background
'((((class color)
(background dark))
@@ -339,12 +344,26 @@ diagonal."
(indent-rigidly start (point) notmuch-hello-indent)))
(when alltags-alist
- (widget-insert "\nAll tags:\n\n")
- (let ((start (point)))
- (setq found-target-pos (notmuch-hello-insert-tags alltags-alist widest target))
- (if (not final-target-pos)
- (setq final-target-pos found-target-pos))
- (indent-rigidly start (point) notmuch-hello-indent))))
+ (if notmuch-hello-show-tags
+ (progn
+ (widget-insert "\nAll tags: ")
+ (widget-create 'push-button
+ :notify (lambda (widget &rest ignore)
+ (setq notmuch-hello-show-tags nil)
+ (notmuch-hello-update))
+ "hide")
+ (widget-insert "\n\n")
+ (let ((start (point)))
+ (setq found-target-pos (notmuch-hello-insert-tags alltags-alist widest target))
+ (if (not final-target-pos)
+ (setq final-target-pos found-target-pos))
+ (indent-rigidly start (point) notmuch-hello-indent)))
+ (widget-insert "\n")
+ (widget-create 'push-button
+ :notify (lambda (widget &rest ignore)
+ (setq notmuch-hello-show-tags t)
+ (notmuch-hello-update))
+ "Show all tags"))))
(let ((start (point)))
(widget-insert "\n\n")