[notmuch] modifying emacs keymap
Jameson Graef Rollins
jrollins at phys.columbia.edu
Mon Dec 28 16:30:29 PST 2009
On Mon, Dec 28, 2009 at 11:27:30PM +0100, Tassilo Horn wrote:
> > (add-hook 'notmuch-search-mode
> > (define-key notmuch-search-mode-map "A" 'notmuch-show-mark-read-then-archive-thread)
> > )
> `notmuch-search-mode' is no hook, and even if it was, you couldn't add
> what you like, because that's no function. You would need to define a
> function that doesn that or wrap it in a lambda function.
Thanks for the response, Tassilo. I should have explained that the
command I used above did work in so far as it did make the new key
available in the correct mode (notmuch-search-mode), as I could tell
through the notmuch-help in the notmuch-search-mode. The command I
used above has worked for me in other contexts, as I've found
documented in a couple of different place on the net. I'm completely
an elisp n00b, though, and I can't claim to understand why it worked.
> Anyway, this should do the trick:
> (define-key notmuch-search-mode-map "A" 'notmuch-show-mark-read-then-archive-thread)
As far as I can tell, this command works the same as the one I used
above. It produces identical results.
I realize now that the problem is that the
notmuch-show-mark-read-then-archive-thread function is meant for
notmuch-show-mode (as should have been clear to me via the name) and
not for notmuch-search-mode. I manually created a new function for
the appropriate mode, and that worked. Below is the code that I used
Thanks for the help, and sorry for the spam.
(defun notmuch-search-mark-read-then-archive-thread ()
"Mark thread as read (remove \"unread\" tag) and then archive (remove \"inbox\" tag).
This function advances to the next thread when finished."
(define-key notmuch-search-mode-map "A" 'notmuch-search-mark-read-then-archive-thread)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 836 bytes
Desc: Digital signature
More information about the notmuch