summaryrefslogtreecommitdiffhomepage
path: root/gnus.org
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2022-02-28 19:03:04 +0000
committerjao <jao@gnu.org>2022-02-28 19:03:04 +0000
commit9c1becb12896ee1cc30131eb5e8bc1ac57f2ace0 (patch)
treeb725fb23c38f885b7d78409149d4161103ce94f7 /gnus.org
parentb1c4831a16a45621dc813aa80aa0c294536cd556 (diff)
downloadelibs-9c1becb12896ee1cc30131eb5e8bc1ac57f2ace0.tar.gz
elibs-9c1becb12896ee1cc30131eb5e8bc1ac57f2ace0.tar.bz2
jao-gnus-consult-notmuch to open consult-notmuch's results in gnus
Diffstat (limited to 'gnus.org')
-rw-r--r--gnus.org41
1 files changed, 31 insertions, 10 deletions
diff --git a/gnus.org b/gnus.org
index faadeec..3273750 100644
--- a/gnus.org
+++ b/gnus.org
@@ -119,8 +119,6 @@
(setq gnus-search-use-parsed-queries t
gnus-search-notmuch-raw-queries-p nil
- gnus-fetch-old-headers nil
- gnus-fetch-old-ephemeral-headers nil
gnus-permanently-visible-groups "^nnselect:.*today"
gnus-search-ignored-newsgroups "nndraft.*\\|nnselect.*")
@@ -369,6 +367,37 @@
(jao-minibuffer-add-variable 'jao-gnus--notify-strs -20))
#+end_src
+* Notmuch integration
+*** notmuch -> gnus
+ #+begin_src emacs-lisp
+ (defun jao-notmuch-goto-message-in-gnus ()
+ "Open a summary buffer containing the current notmuch article."
+ (interactive)
+ (let ((group (jao-maildir-file-to-group (notmuch-show-get-filename)
+ mail-source-directory))
+ (message-id (replace-regexp-in-string "^id:"
+ ""
+ (notmuch-show-get-message-id))))
+ (if (and group message-id)
+ (org-gnus-follow-link group message-id)
+ (message "Couldn't get relevant infos for switching to Gnus."))))
+
+ (defun jao-gnus-open-consult-candidate (candidate)
+ (consult-notmuch--preview candidate nil)
+ (with-current-buffer consult-notmuch--buffer-name
+ (jao-notmuch-goto-message-in-gnus)
+ (save-window-excursion (consult-notmuch--close-preview))))
+
+ (defun jao-gnus-consult-notmuch ()
+ (interactive)
+ (jao-gnus-open-consult-candidate (consult-notmuch--search)))
+
+ (with-eval-after-load "notmuch-show"
+ (define-key gnus-group-mode-map "z" #'jao-gnus-consult-notmuch)
+ (define-key gnus-group-mode-map "Z" #'notmuch)
+ (define-key notmuch-show-mode-map (kbd "C-c C-c")
+ #'jao-notmuch-goto-message-in-gnus))
+ #+end_src
* Delayed messages
#+BEGIN_SRC emacs-lisp
;;; delayed messages (C-cC-j in message buffer)
@@ -444,10 +473,6 @@
(gnus-server-exit)
(message "Restarting all servers... done"))
- (define-key gnus-group-mode-map "z" nil)
- (define-key gnus-group-mode-map "zg" #'notmuch)
- (define-key gnus-group-mode-map "zz" #'jao-consult-notmuch-folder)
- (define-key gnus-group-mode-map "zZ" #'consult-notmuch)
(define-key gnus-group-mode-map "\C-x\C-s" #'gnus-group-save-newsrc)
(jao-transient-major-mode gnus-group
@@ -736,8 +761,4 @@
(define-key gnus-summary-mode-map "e" 'jao-gnus-open-enclosure)
(define-key gnus-summary-mode-map "\C-l" nil)
- (with-eval-after-load "w3m"
- (define-key gnus-article-mode-map "\C-ci" 'w3m-view-image)
- (define-key gnus-article-mode-map "z" 'w3m-lnum-zoom-in-image))
-
#+end_src