aboutsummaryrefslogtreecommitdiffhomepage
path: root/notmuch.el
diff options
context:
space:
mode:
authorGravatar Alexander Botero-Lowry <alex.boterolowry@gmail.com>2009-11-23 22:25:33 -0800
committerGravatar Alexander Botero-Lowry <alexbl@fortitudo.(none)>2009-11-24 10:37:40 -0800
commitbde9284064e71e88ba68718c14b9697a98873adb (patch)
tree7b3f057b88979bdbcc2680e4b7d25ab77254d1d9 /notmuch.el
parentf6158039324e44159d449b459829dc7ad4e52acc (diff)
make headers locally expandable/collapsable
This is the same as with citations and signatures. I used an ellipsis here for the invisible region, which I think make it more obvious that there are extra headers. MH-e used this for extra long To/CC headers.
Diffstat (limited to 'notmuch.el')
-rw-r--r--notmuch.el18
1 files changed, 15 insertions, 3 deletions
diff --git a/notmuch.el b/notmuch.el
index fa6e7de4..8aee2864 100644
--- a/notmuch.el
+++ b/notmuch.el
@@ -605,7 +605,8 @@ which this thread was originally shown."
(end-of-line)
; Inverse video for subject
(overlay-put (make-overlay beg (point)) 'face '(:inverse-video t))
- (forward-line 2)
+ (forward-line 1)
+ (end-of-line)
(let ((beg-hidden (point-marker)))
(re-search-forward notmuch-show-header-end-regexp)
(beginning-of-line)
@@ -619,8 +620,19 @@ which this thread was originally shown."
(forward-line)
)
(indent-rigidly beg end depth)
- (overlay-put (make-overlay beg-hidden end)
- 'invisible 'notmuch-show-header)
+ (let ((invis-spec (make-symbol "notmuch-show-header")))
+ (add-to-invisibility-spec (cons invis-spec t))
+ (overlay-put (make-overlay beg-hidden end)
+ 'invisible invis-spec)
+ (goto-char beg)
+ (forward-line)
+ (let ((header-button (make-button (line-beginning-position) (line-end-position))))
+ (button-put header-button 'invisibility-spec (cons invis-spec t))
+ (button-put header-button 'action 'notmuch-toggle-invisible-action)
+ (button-put header-button 'follow-link t)
+ (button-put header-button 'help-echo
+ "mouse-1, RET: Show headers")
+ ))
(goto-char end)
(insert "\n")
(set-marker beg nil)