notmuch show: Move subject from one-line summary down to its own line.
authorCarl Worth <cworth@cworth.org>
Thu, 5 Nov 2009 23:02:20 +0000 (15:02 -0800)
committerCarl Worth <cworth@cworth.org>
Thu, 5 Nov 2009 23:02:20 +0000 (15:02 -0800)
And change the display code in emacs to display the one-line summary
in inverse video.

notmuch.c
notmuch.el

index b20b4065005630dfc3c5bc2d374516a819f77c33..5dce65217e0ba0e70e965a0a8bee8ae013741533 100644 (file)
--- a/notmuch.c
+++ b/notmuch.c
@@ -913,7 +913,6 @@ _get_one_line_summary (void *ctx, notmuch_message_t *message)
     const char *from;
     time_t date;
     const char *relative_date;
-    const char *subject;
     const char *tags;
 
     from = notmuch_message_get_header (message, "from");
@@ -921,12 +920,10 @@ _get_one_line_summary (void *ctx, notmuch_message_t *message)
     date = notmuch_message_get_date (message);
     relative_date = _format_relative_date (ctx, date);
 
-    subject = notmuch_message_get_header (message, "subject");
-
     tags = _get_tags_as_string (ctx, message);
 
-    return talloc_asprintf (ctx, "%s (%s) %s (%s)",
-                           from, relative_date, subject, tags);
+    return talloc_asprintf (ctx, "%s (%s) (%s)",
+                           from, relative_date, tags);
 }
 
 static void
@@ -1118,6 +1115,8 @@ show_command (void *ctx, unused (int argc), unused (char *argv[]))
 
        printf ("%s\n", _get_one_line_summary (local, message));
 
+       printf ("%s\n", notmuch_message_get_header (message, "subject"));
+
        for (i = 0; i < ARRAY_SIZE (headers); i++) {
            name = headers[i];
            value = notmuch_message_get_header (message, name);
index 592c5ab58da2329806e99cbd695c1d713080db38..4e649d441401239b9ddafa9258ade2d838b56acf 100644 (file)
@@ -436,9 +436,15 @@ which this thread was originally shown."
 
 (defun notmuch-show-markup-header ()
   (re-search-forward notmuch-show-header-begin-regexp)
-  (next-line 2)
+  (forward-line 1)
   (beginning-of-line)
   (let ((beg (point)))
+    (end-of-line)
+    ; Inverse video for subject
+    (overlay-put (make-overlay beg (point)) 'face '((cons :inverse-video t)))
+    (beginning-of-line)
+    (forward-line 2)
+    (set 'beg (point))
     (re-search-forward notmuch-show-header-end-regexp)
     (overlay-put (make-overlay beg (match-beginning 0))
                 'invisible 'notmuch-show-header)))