[PATCH 1/2] emacs: If 'all tags' is not shown, don't use it when calculating widths.

dme at dme.org dme at dme.org
Tue Apr 27 03:04:36 PDT 2010


From: David Edmondson <dme at dme.org>

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 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
index 50d8911..1b59ef1 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")
-- 
1.7.0



More information about the notmuch mailing list