Avoid having to open Gnus and find the right Group just to get back to that e-mail you were reading.
Or hit a key while reading one article to pop back through the stack of previously read articles, even if they were in a different Group.
Or insert a link to a recently read e-mail in an org-mode buffer by just picking one with completion:
If you use MELPA, you can just do M-x list-packages
, find
gnus-recent
in the list and hit i x
.
The Melpa packages doesn’t include the ivy/helm stuff, you’ll have to clone the repo if you want those.
Require and bind whatever keys you prefer to the interactive function:
(use-package gnus-recent
:ensure t ; if you want it from MELPA
; :load-path "~/src/gnus-recent" ; if you're running from a git clone
:demand t ; so that it's loaded after gnus even though we use :bind
:after gnus
:bind (("<f3>" . gnus-recent)
:map gnus-summary-mode-map ("l" . gnus-recent-goto-previous)
:map gnus-group-mode-map ("C-c L" . gnus-recent-goto-previous)))
If you use Embark, add the following to be able to insert org links on l
:
(add-hook 'minibuffer-setup-hook #'gnus-recent-embark-minibuffer-hook)
After reading some articles in Gnus and then doing whatever, doing
gnus-recent-goto-previous
will open the last read article and rotate
the list, so you can keep calling it to go further back.
Doing gnus-recent
will let you pick an article to re-open.
If you use gnus-recent-ivy
, you can hit M-o l
to insert an
org-mode
link to the article instead.
- gnus-notes is a fork of
gnus-recent
which adds some more features (persistence, get a Helm list of Gnus links of the current Org subtree, etc.) - The Gnus Registry might be persuaded to do
gnus-recent
’s job if you ask it nicely