Update copyright years
Bump version to rebuild with c2d7477
Simplify counter reset
notmuch-indicator
This is a simple package that renders an indicator with an email count
of the notmuch
index on the Emacs mode line. The underlying mechanism
is that of notmuch-count(1)
, which is used to find the number of items
that match the given search terms.
The indicator is enabled when notmuch-indicator-mode
is on.
The user option notmuch-indicator-args
provides the means to define
search terms and associate them with a given label. The label is purely
cosmetic, though it helps characterise the resulting counter.
The value of notmuch-indicator-args
is a list of plists (property
lists). Each plist consists of one mandarory property and two optional
ones:
The :terms
, which is required, is a string that holds the
command-line arguments passed to notmuch-count(1)
(read the Notmuch
documentation for the technicalities).
The :label
, which is optional, is an arbitrary string that is
prepended to the return value of the above. If nil or omitted, no
label is displayed.
The face
, which is optional, is the symbol of a face that is
applied to the :label
. It should not be quoted, so like :face bold
. Good candidates are bold
, italic
, success
, warning
,
error
, though anything will do. If nil or omitted, no face is
used.
Multiple plist lists represent separate notmuch-count(1)
queries.
These are run sequentially. Their return values are joined into a
single string.
For instance, a value like the following defines three searches:
(setq notmuch-indicator-args
'((:terms "tag:unread and tag:inbox" :label "@")
(:terms "from:bank and tag:bills" :label "😱")
(:terms "--output threads tag:loveletter" :label "💕")))
These form a string which realistically is like: @50 😱1000 💕0
.
Each component is clickable: it runs notmuch-search
on the
applicable :terms
.
The user option notmuch-indicator-refresh-count
determines how often
the indicator will be refreshed. It accepts a numeric argument which
represents seconds.
The user option notmuch-indicator-force-refresh-commands
accepts as
its value a list of symbols. Those are commands that will forcefully
update the indicator after they are invoked.
The user option notmuch-indicator-hide-empty-counters
hides zero
counters from the indicator, when it is set to a non-nil value.
The notmuch-indicator
is meant to be a collective effort. Every bit
of help matters.
Author/maintainer :: Protesilaos Stavrou.
Contributions to code or user feedback :: Henrik Kjerringvåg, Stefan Monnier, Yusef Aslam.