From: David Edmondson Date: Tue, 27 Apr 2010 10:04:36 +0000 (+0100) Subject: emacs: If 'all tags' is not shown, don't use it when calculating widths. X-Git-Tag: 0.3.1~10 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=98a05af06384f10881033f8b9d182a6f89cbebad 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. (cherry picked from commit 18d41192d2cf0c71045c2f6420eb2311553f58b4) --- 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")