Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/unhammer/gnus-recent
Avoid having to open Gnus and find the right group just to get back to that e-mail you were reading.
https://github.com/unhammer/gnus-recent
emacs gnus ivy mail
Last synced: 4 months ago
JSON representation
Avoid having to open Gnus and find the right group just to get back to that e-mail you were reading.
- Host: GitHub
- URL: https://github.com/unhammer/gnus-recent
- Owner: unhammer
- Created: 2018-11-21T19:49:39.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-02T09:57:55.000Z (over 1 year ago)
- Last Synced: 2024-10-11T23:47:26.861Z (4 months ago)
- Topics: emacs, gnus, ivy, mail
- Language: Emacs Lisp
- Size: 326 KB
- Stars: 10
- Watchers: 4
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: gnus-recent
[[https://melpa.org/#/gnus-recent][https://melpa.org/packages/gnus-recent-badge.svg]]
[[https://stable.melpa.org/#/gnus-recent][https://stable.melpa.org/packages/gnus-recent-badge.svg]]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:#+ATTR_HTML: :alt demo of gnus-recent inserting link with ivy in org-mode
[[file:gnus-recent-org-mode.gif][file:gnus-recent-org-mode.gif]]* Installation
If you use [[https://melpa.org/][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.* Configuration
Require and bind whatever keys you prefer to the interactive function:
#+BEGIN_SRC emacs-lisp
(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 (("" . gnus-recent)
:map gnus-summary-mode-map ("l" . gnus-recent-goto-previous)
:map gnus-group-mode-map ("C-c L" . gnus-recent-goto-previous)))
#+END_SRCIf you use [[https://github.com/oantolin/embark][Embark]], add the following to be able to insert org links on =l=:
#+BEGIN_SRC emacs-lisp
(add-hook 'minibuffer-setup-hook #'gnus-recent-embark-minibuffer-hook)
#+END_SRC* Usage
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.* Alternatives
- [[https://github.com/deusmax/gnus-notes][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.)
- [[https://www.gnu.org/software/emacs/manual/html_node/gnus/The-Gnus-Registry.html][The Gnus Registry]] might be persuaded to do =gnus-recent='s job if
you ask it nicely