Flat search and threaded views

Yuri D'Elia wavexx at thregr.org
Thu Aug 11 08:54:19 PDT 2016


On Thu, Aug 04 2016, Yuri D'Elia <wavexx at thregr.org> wrote:
> The problem is that the search I've built includes both existing
> messages and unread ones (with a buffer of a day). So even though I get
> a new (unread) message, some existing messages in the thread also match.
> When reading a new thread started within the day, all messages match.

I've tried to change my workflow to fit notmuch's, for example by
narrowing my default searches only to only match unread messages.

I'm feeling a bit mixed about the interface. This is not my first
approach to tag-based email management (I actually still use mu4e). I
wanted to give notmuch a try, mostly due to the way tags can be
processed easily with afew.

I like how the tagging workflow works, actually. I customized afew and
the way default tags are assigned/managed. Batch-processing with afew is
a breeze. I wrote my own plugin to implement MailMove the way I wanted
in a few hours and overridden a few others. I'm quite happy about this.

I just find the emacs interface a bit confusing.

- Showing search results in threads, even after narrowing queries, is
  not optimal. I'm shown a list of threads which contain tag:unread
  messages, *but* the count is the number of messages in the thread
  itself. I've been tripped multiple times by this.

  I still think a flat search result would be better. I would like to
  jump into the show buffer as it's being done currently (with the whole
  thread) for additional context, but not for the direct search results.

- Tagging individual messages is just cumbersome because of this. I
  often flag individual ids that contain things that I need to act on
  later. I cannot do this straight from the search results. I need to
  read the thread and move the cursor to the appropriate message.

- Even after reconsidering, I find that '*' will  never do what I expect.
  I'd like to tag matching ids (that is, what I'm seeing), not threads.
  
  People often hijack old threads just to find your address. I'm being
  shown huge threads, but in reality I'm just getting a new message and
  I don't really want to manage threads as well as messages. When
  tagging, I almost always tag individual messages. When I tag threads,
  generally is to 'kill' them using afew's KillThreadsFilter.

- The unread mechanism itself is nice, but it doesn't work as you might
  expect if you match also read messages. Easier navigation between tags
  (such as "jump to the next unread message") is something I'm looking
  for.

- I patched notmuch to sync the TRASHED flag. Yes, deleting is a thing
  if you use multiple clients. Would you consider accepting a patch for
  this?

- gnus-alias actually works better than mu4e's "current focus" (which
  it's current identity mechanism). mu4e is a bit more comprehensive on
  that front, but gnus-alias is smoother, which I didn't expect.

I didn't still look at the notmuch-search sources. Do you think it would
be hard to support showing individual ids only? Looks like it's easy to
do from the cli, but might require too many conditions in the source.

mu4e on the other hand offers a guile interface that can be used for
filtering, so I'm not sure which is easier to do :P (implementing afew
with guile, or tweaking notmuch search results).


More information about the notmuch mailing list