This series allows the user to customize the display of individual saved searches, including showing thread counts, changed counts, omitting counts (for speed), a read/unread count etc. The series is not as large as it looks. Patch 1 is just code movement, and patches 4-7 implement some of the above possibilities. Patches 4-7 could be applied but they are more intended to demonstrate and let people test the infrastructure (ie showing what can be done). Comments on the series: the display function is given a keyword list of arguments (so use &rest args, followed by (plist-get args :keyword)). This is to make the interface easily extendible without breaking backwards compatibility. custom display functions do not link into the batch count functionality (but are omitted from it). Thus if the custom function doesn't always do a query hello may be quicker, but in other cases, particularly over a remote link, it may be slower. some custom display functions will be slow, but they may be fast enough for small searches (eg inbox). Finally, a lisp query: I use a plist for saving the results of the previous run (so display functions can highlight changes). This is indexed by the saved searches themselves. I think this is OK (because plist uses eq not equal) but would like a confirmation. Finally, some of this infrastructure could be used to do async counts at a later stage. I have some preliminary patches, but that is all rather more fragile. Best wishes Mark Mark Walters (7): emacs: hello: separate out the saved-search display function emacs: hello: allow saved search display functions emacs: hello: store previous saved-search results emacs: hello: add a threads-and-messages function emacs: hello: require cl emacs: hello: add highlight newly arrived messages option emacs: hello: add option to omit count for a search emacs/notmuch-hello.el | 139 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 111 insertions(+), 28 deletions(-) -- 1.7.10.4