# notmuch-indicator for Emacs + Package name (GNU ELPA): `notmuch-indicator` + Git repo on SourceHut: - Mirrors: + GitHub: + GitLab: + Mailing list: + Backronym: notmuch-... Increasingly in Need of Displaying Inconsequential Counters Alongside Trivia that Obscure Reality. * * * 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: 1. 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). 2. 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. 3. 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: ```elisp (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. ## Acknowledgements 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.