J'essaie de créer un modèle en utilisant les modèles org-capture lorsque j'utilise mu4e. Lorsque je consulte un message en mode mu4e:view, je peux appeler org-capture-templates en appuyant sur une touche, puis ajouter un rappel dans un fichier avec un lien vers le message. Quelque chose comme ceci :
* NEXT Respond to Person A on Message Subject
SCHEDULED: <2013-06-22 Sat>
[2013-06-22 Sat 22:05]
Email subject linked to mu4e message
Voici le modèle dans mon .emacs :
(setq org-capture-templates
(quote (("r" "respond" entry (file "~/refile.org")
"* NEXT Respond to %:from on %:subject\nSCHEDULED: %t\n%U\n%a\n\n"
:clock-in t :clock-resume t :immediate-finish t))))
Mais les variables de la section 9.1.3.2 du manuel officiel d'orgmode ne sont pas définies dans mu4e. Je pense qu'elles devraient être définies dans la fonction suivante de org-mu4e.el. Voir les 3 lignes marquées d'un commentaire que j'ai ajoutées, mais cela ne résout pas le problème. Le lien (%a) est initialisé, mais pas :to, :from et :subject.
Si je débogue, je peux voir que l'appel à la fonction org-store-link-props ressemble à ceci :
org-store-link-props(:type "mu4e" :from (("Person Name" . "person@email.whatever"))
:to (("Me Surname" . "me@here.com")) :subject "Re: Subject of Email"
:message-id "message-id")
Cependant, le modèle est évalué à :
* NEXT Respond to %:from on %:subject
SCHEDULED: <2013-06-23 Sun>
[2013-06-23 Sun 21:08]
Merci pour votre aide - c'est la dernière fonction qui fonctionne pour moi :
(defun org-mu4e-store-link ()
"Store a link to a mu4e query or message."
(cond
;; storing links to queries
((eq major-mode 'mu4e-headers-mode)
(let* ((query (mu4e-last-query))
desc link)
(org-store-link-props :type "mu4e" :query query)
(setq
desc (concat "mu4e:query:" query)
link desc)
(org-add-link-props :link link :description desc)
link))
;; storing links to messages
((eq major-mode 'mu4e-view-mode)
(let* ((msg (mu4e-message-at-point))
(msgid (or (plist-get msg :message-id) "<none>"))
(from (car (car (mu4e-message-field msg :from))))
(to (car (car (mu4e-message-field msg :to))))
(subject (mu4e-message-field msg :subject))
link)
(setq link (concat "mu4e:msgid:" msgid))
(org-store-link-props :type "mu4e" :link link
:message-id msgid)
(setq link (concat "mu4e:msgid:" msgid))
(org-store-link-props
:type "mu4e" :from from :to to :subject subject
:message-id msgid)
(org-add-link-props :link link
:description (funcall org-mu4e-link-desc-func msg))
link))))
(org-add-link-type "mu4e" 'org-mu4e-open)
(add-hook 'org-store-link-functions 'org-mu4e-store-link)