From 18d41192d2cf0c71045c2f6420eb2311553f58b4 Mon Sep 17 00:00:00 2001 From: David Edmondson Date: Tue, 27 Apr 2010 11:04:36 +0100 Subject: emacs: If 'all tags' is not shown, don't use it when calculating widths. If the 'all tags' section of the hello buffer will not be shown, don't consider those tags when determining the number of saved searches that can be displayed on a single line. --- emacs/notmuch-hello.el | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) (limited to 'emacs/notmuch-hello.el') diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index 50d89110..1b59ef19 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -284,8 +284,9 @@ diagonal." if (> (string-to-number (notmuch-saved-search-count (cdr elem))) 0) collect elem))) (saved-widest (notmuch-hello-longest-label saved-alist)) - (alltags-alist (mapcar '(lambda (tag) (cons tag (concat "tag:" tag))) - (process-lines notmuch-command "search-tags"))) + (alltags-alist (if notmuch-show-all-tags-list + (mapcar '(lambda (tag) (cons tag (concat "tag:" tag))) + (process-lines notmuch-command "search-tags")))) (alltags-widest (notmuch-hello-longest-label alltags-alist)) (widest (max saved-widest alltags-widest))) @@ -360,26 +361,27 @@ diagonal." (indent-rigidly start (point) notmuch-hello-indent))) (when alltags-alist - (if notmuch-show-all-tags-list - (progn - (widget-insert "\nAll tags: ") - (widget-create 'push-button - :notify (lambda (widget &rest ignore) - (setq notmuch-show-all-tags-list 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-insert "\nAll tags: ") + (widget-create 'push-button + :notify (lambda (widget &rest ignore) + (setq notmuch-show-all-tags-list 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") + + (if (not notmuch-show-all-tags-list) (widget-create 'push-button :notify (lambda (widget &rest ignore) (setq notmuch-show-all-tags-list t) (notmuch-hello-update)) - "Show all tags")))) + "Show all tags"))) (let ((start (point))) (widget-insert "\n\n") -- cgit v1.2.3