Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rougier/mu4e-dashboard
A dashboard for mu4e (mu for emacs)
https://github.com/rougier/mu4e-dashboard
emacs mail mu4e org-mode
Last synced: 7 days ago
JSON representation
A dashboard for mu4e (mu for emacs)
- Host: GitHub
- URL: https://github.com/rougier/mu4e-dashboard
- Owner: rougier
- License: gpl-3.0
- Created: 2020-11-16T21:40:37.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-01-22T12:46:05.000Z (10 months ago)
- Last Synced: 2024-08-01T03:43:00.016Z (3 months ago)
- Topics: emacs, mail, mu4e, org-mode
- Language: Emacs Lisp
- Homepage:
- Size: 1.4 MB
- Stars: 463
- Watchers: 10
- Forks: 42
- Open Issues: 22
-
Metadata Files:
- Readme: README.org
- License: LICENSE.txt
Awesome Lists containing this project
README
*mu4e Dashboard*
mu4e dashboard provides a new =mu4e= org link type that allows to execute
various mu4e queries when clicked. Such links can be organised into a
dashboard, by simply writing an org file as shown below:*Screenshot 1*: Full page dashboard
[[./dashboard.png]]
*Screenshot 2*: Side dashboard
[[./dashboard-2.png]]
** Installation
Evaluate the buffer and you're good to go. It is your responsibility to
write an org file with links pointing to varius queries on your mailboxes.** Configuration
*** Links
The link syntax is quite intuitive:
#+begin_src org
[[mu:query|format|count][description]]
#+end_src=query= must be a valid mu4e query and =count= (optional) is the maximum
number of results to be returned. When the link is clicked,
=mu4e-headers-search= is called with the proper query.#+begin_src org
[[mu:flag:unread][All unread]]
[[mu:flag:unread||10][Last 10 unread]]
#+end_src=format= can be used to specify that =query= results are to be counted in
order to update the description using the given format:#+begin_src org
[[mu:flag:unread|%3d][---]]
#+end_srcWith the example above, when the link is cliked, the =---= part will be
replaced by the number of unread mails.*** Using mu4e-bookmarks
Queries can include references to mu4e-bookmarks. A bookmark is denoted with
~bm:~
~bookmarkName~ cannot contain spaces nor ]. A query can contain several bookmarks,
but their expansion is not recursive.For example, assuming the following bookmark exists:
#+begin_src emacs-lisp :exports both
(add-to-list 'mu4e-bookmarks
'(:name "Unread"
:query "flag:unread and not flag:trashed"
:key ?f)
t)
#+end_srcthe dashboard query:
#+begin_src emacs-lisp :exports both
mu:bm:Unread and date:7d..now
#+end_srcwill be expanded to:
#+begin_src emacs-lisp :exports both
mu:(flag:unread and not flag:trashed) and date:7d..now
#+end_srcNote that parenthesis are added around the bookmark to make sure the expansion is hygienic.
*** Key bindings
Keybindings can be configured using the =KEYMAP= keyword in your org file:
#+begin_src org
#+KEYMAP: key | elisp function
#+end_srcFor example, if you want to bind =;= to context switch, you would write:
#+begin_src org
#+KEYMAP: ; | mu4e-context-switch
#+end_src*** Query test
In the provided [[dashboard.org]], there's a definition for a mu query that can be
called directly inside the org file using [[https://orgmode.org/worg/org-contrib/babel/][org-babel]]. This can be convenient if
you want to test a query before creating a link. Usage is quite simple:#+begin_src org
#+CALL: query(flag:unread, 10)
#+RESULTS:
#+end_srcJust type *C-c C-c* on the call line and you should see query results under the
RESULTS line.** Usage
To activate the dashboard, type =mu4e-dashboard-mode=. This will turn on
=mu4e-dashboard-mode= minor mode and install any custom keybindings in
the current buffer.To edit the org file, you'll need to turn off =mu4e-dashboard-mode=.
** Related
There is a fork of this software which is designed to be used with
[[https://notmuchmail.org/][notmuch]] instead of with mu4e. It replaces the standard =notmuch-hello=
dashboard with an org-mode version. You can find it [[https://git.sr.ht/~inwit/org-notmuch-hello][here]].