wangp / bower

A curses terminal client for the Notmuch email system
Other
119 stars 11 forks source link

Add archive action #21

Closed stain closed 7 years ago

stain commented 7 years ago

See discussion in #20.

It is default for notmuch to add the tag inbox to fresh messages - in a gmail-like fashion, then "archiving" would mean removing the tag inbox. This issue proposes to add a key for "archiving" a message, bound to the key a.

It would also make sense for archived messages to also lose the unread tag, in particular when using notmuch synchronization of flags back to the maildir (and typically IMAP) - this does not include "inbox".

So what @wangp and myself discussed in #20 is to add:

Index mode: a - archive/unarchive thread @ - add to address book (rebound from a)

Thread mode a - archive/unarchive message A - archive thread, go back to index

When toggling a message/thread, a will archive if any message has either inbox or unread tag (removing both tags), otherwise it will "unarchive" (re-add inbox, but not unread. Thread mode A will always archive, even if none of the messages match inbox or unread.

@wangp has prepared this in his archive branch.

stain commented 7 years ago

Thus while a makes most sense to use within a search like bower tag:unread OR tag:inbox - it also works within other searches, as it will clear unread status and also any inbox tags that might or might not be there.

After a the cursor moves down, like in n, f and d.

Note that when going through threads in such a search it could be that some threads are already considered "archived" in which a would flip (analogue to behaviour of n, f and d) - to (re)add the inbox tag. This can easily be undone by a second a to remove inbox again.

wangp commented 7 years ago

Do you think a bulk archive shortcut is necessary? i.e. tag threads/message, then press ' a. It could always archive, or toggle. I'm afraid that toggling behaviour may be too confusing with mixed states, but it could work like ' N (toggle unread) that only acts if the tagged items are all in the same state.

I can't remember using any of the bulk tagging shortcuts, though, so I'm not inclined to add more.

stain commented 7 years ago

Marginal for me as I would just archive as I go through the list..

.. perhaps for a manual tagging workflow it could make sense to support bulk archiving, e.g.

Mark Mark Mark Down Down Mark Apply Archive Apply and Clear Tag +meetings

But this would fail on inconsistent state if any of the selected +meetings msgs happen to already be archived and others not..

Perhaps it could also be useful to unarchive a search (e.g. all threads from a certain client); but in a way that is using "inbox" as "flagged".

On 28 Jan 2017 5:13 am, "wangp" notifications@github.com wrote:

Do you think a bulk archive shortcut is necessary? i.e. tag threads/message, then press ' a. It could always archive, or toggle. I'm afraid that toggling behaviour may be too confusing with mixed states, but it could work like ' N (toggle unread) that only acts if the tagged items are all in the same state.

I can't remember using any of the bulk tagging shortcuts, though, so I'm not inclined to add more.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wangp/bower/issues/21#issuecomment-275828213, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPd5aNik0AUaN2oD_zLSS_UJ3PCvVYvks5rWs6EgaJpZM4LugP- .

wangp commented 7 years ago

I think the generic bulk tagging interface is good enough.

The archive changes are on master now.