If notmuch-show-mode behaves badly for you in emacs 24.x try adding one of
- (setq gnus-inhibit-images nil)
+ (setq gnus-inhibit-images nil)
or
- (require 'gnus-art)
+ (require 'gnus-art)
to your .emacs file.
(autoload 'notmuch "~/.emacs.d/my-notmuch" "notmuch mail" t)
+## Initial cursor position in notmuch 0.15 hello window
+
+In notmuch version 0.15 emacs client the handling of cursor position in
+notmuch hello window has been simplified to a version which suits best
+most cases.
+
+Initially the cursor is positioned at the beginning of buffer.
+
+Some users liked the "ancient" version where cursor was moved to the
+first `Saved searches` button.
+
+Add the following code to your notmuch emacs configuration file in
+case you want this behaviour:
+
+ (add-hook 'notmuch-hello-refresh-hook
+ (lambda ()
+ (if (and (eq (point) (point-min))
+ (search-forward "Saved searches:" nil t))
+ (progn
+ (forward-line)
+ (widget-forward 1))
+ (if (eq (widget-type (widget-at)) 'editable-field)
+ (beginning-of-line)))))
## Add a key binding to add/remove/toggle a tag
lines. Add this to your `.emacs` to replace tabs with spaces in subject
lines:
- (defun notmuch-show-subject-tabs-to-spaces ()
- "Replace tabs with spaces in subject line."
- (goto-char (point-min))
- (when (re-search-forward "^Subject:" nil t)
- (while (re-search-forward "\t" (line-end-position) t)
- (replace-match " " nil nil))))
+ (defun notmuch-show-subject-tabs-to-spaces ()
+ "Replace tabs with spaces in subject line."
+ (goto-char (point-min))
+ (when (re-search-forward "^Subject:" nil t)
+ (while (re-search-forward "\t" (line-end-position) t)
+ (replace-match " " nil nil))))
- (add-hook 'notmuch-show-markup-headers-hook 'notmuch-show-subject-tabs-to-spaces)
+ (add-hook 'notmuch-show-markup-headers-hook 'notmuch-show-subject-tabs-to-spaces)
And in header lines (this will only work with the yet to be released
notmuch version 0.15):
- (defun notmuch-show-header-tabs-to-spaces ()
- "Replace tabs with spaces in header line."
- (setq header-line-format
- (notmuch-show-strip-re
- (replace-regexp-in-string "\t" " " (notmuch-show-get-subject)))))
+ (defun notmuch-show-header-tabs-to-spaces ()
+ "Replace tabs with spaces in header line."
+ (setq header-line-format
+ (notmuch-show-strip-re
+ (replace-regexp-in-string "\t" " " (notmuch-show-get-subject)))))
- (add-hook 'notmuch-show-hook 'notmuch-show-header-tabs-to-spaces)
+ (add-hook 'notmuch-show-hook 'notmuch-show-header-tabs-to-spaces)
## Hiding unread messages in notmuch-show
("\\(?:id\\|mid\\|thread\\):[0-9A-Za-z][0-9A-Za-z.@-]*" 0 notmuch-show 0)
If you have notmuch-pick installed, it works fine for this as well.
+
+## Linking to notmuch messages from org-mode
+
+Support for linking to notmuch messages is distributed with org-mode,
+but as a contrib file, so you might have to work a bit to load it.
+
+In Debian and derivatives,
+
+ (add-to-list 'load-path "/usr/share/org-mode/lisp")
+
+Then
+
+ (require 'org-notmuch)
+
+In general it is nice to have a key for org-links (not just for notmuch). For example
+
+ (define-key global-map "\C-cl" 'org-store-link)