Updating tags in search-view when changing tags in thread-mode
Reproducing:
- Find unread thread in any search-view.
- Press CR, then E to "read" all single messages.
- Press d to close the buffer
Actual behavior: "unread" tag in search-view does not disappear until '@' is pressed
Think this issue will get 'vanity' tag too, though it's really important for a polished mail client imho. Also its implementation may (or may not) correlate with #317
the only solution that i can think of is refreshing buffers whenever one focusses another. Kind of costly for search buffers but it might be worth it.
In this case some optimization of search-view refreshing is needed. E.g. only current page has to be requested from search engine, may be with a few of neighbour pages. Besides, refreshing should not reset cursor to the first thread. It's another issue maybe.
searching doesn't work on "pages" unfortunately :)
have a look at DBManager.get_threads. it uses subprocess and pipes magic to asyncronously fill a list.
refreshing a search buffer means killing its filler process if its still running ans starting another, redrawing the complete list widget (which resets the focus)
which resets the focus But we can first remember the focused thread and then relocate cursor to it or the next thread after it in the search-view if we know sorting criteria.
aye, cf. https://github.com/pazz/alot/blob/testing/alot/buffers.py#L177
This one has hit me now. Reading through a long thread view, it would be really helpful to clear down the 'unread' label as soon as possible. Or more importantly, show when it has been cleared (or not) as sometimes I think I've 'read' a mail, but alot doesn't remove the label even after a refresh ... so perhaps I didn't read 'enough' of it.
I'll tackle looking at this after I finish the thread view message summaries implementation.