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
Screenshot 2: Side dashboard
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:
[[mu:query|format|count][description]]
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.
[[mu:flag:unread][All unread]]
[[mu:flag:unread||10][Last 10 unread]]
format
can be used to specify that query
results are to be counted in
order to update the description using the given format:
[[mu:flag:unread|%3d][---]]
With 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>
bookmarkName
cannot contain spaces nor ]. A query can contain several bookmarks,
but their expansion is not recursive.
For example, assuming the following bookmark exists:
(add-to-list 'mu4e-bookmarks
'(:name "Unread"
:query "flag:unread and not flag:trashed"
:key ?f)
t)
the dashboard query:
mu:bm:Unread and date:7d..now
will be expanded to:
mu:(flag:unread and not flag:trashed) and date:7d..now
Note 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:
#+KEYMAP: key | elisp function
For example, if you want to bind ;
to context switch, you would write:
#+KEYMAP: ; | mu4e-context-switch
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 org-babel. This can be convenient if you want to test a query before creating a link. Usage is quite simple:
#+CALL: query(flag:unread, 10)
#+RESULTS:
Just 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
notmuch instead of with mu4e. It replaces the standard notmuch-hello
dashboard with an org-mode version. You can find it here.