diff options
author | Tim Culverhouse <tim@timculverhouse.com> | 2022-07-31 09:41:20 -0500 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-08-01 10:37:35 +0200 |
commit | 56dabb5c9cd769d0bbb3c37ba514da150eeb5943 (patch) | |
tree | a26fbf4aa3b9dcb64e0b45ef89e0e5320496f45a | |
parent | db195bebf061d793ff34ba209059fe3f43e189e2 (diff) | |
download | aerc-56dabb5c9cd769d0bbb3c37ba514da150eeb5943.tar.gz |
msgstore: leave visual-mark mode after certain commands
Commit "4753cfd visual-mode: deselect messages after performing command"
introduced the behavior of leaving visual mark mode after performing
certain commands. Add this behavior to additional commands:
- Delete
- Archive
- Move
Remark the selected mail files if an error occurred during the
operation.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r-- | commands/msg/archive.go | 2 | ||||
-rw-r--r-- | commands/msg/delete.go | 3 | ||||
-rw-r--r-- | commands/msg/move.go | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/commands/msg/archive.go b/commands/msg/archive.go index ebe63ff3..e1ff9a61 100644 --- a/commands/msg/archive.go +++ b/commands/msg/archive.go @@ -54,6 +54,7 @@ func (Archive) Execute(aerc *widgets.Aerc, args []string) error { } archiveDir := acct.AccountConfig().Archive store.Next() + store.ClearVisualMark() acct.Messages().Invalidate() var uidMap map[string][]uint32 @@ -90,6 +91,7 @@ func (Archive) Execute(aerc *widgets.Aerc, args []string) error { aerc.PushError(msg.Error.Error()) success = false wg.Done() + store.Remark() } }) } diff --git a/commands/msg/delete.go b/commands/msg/delete.go index ce5c4ca5..d90132aa 100644 --- a/commands/msg/delete.go +++ b/commands/msg/delete.go @@ -44,6 +44,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { } //caution, can be nil next := findNextNonDeleted(uids, store) + store.ClearVisualMark() store.Delete(uids, func(msg types.WorkerMessage) { switch msg := msg.(type) { case *types.Done: @@ -79,8 +80,10 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { } acct.Messages().Invalidate() case *types.Error: + store.Remark() aerc.PushError(msg.Error.Error()) case *types.Unsupported: + store.Remark() // notmuch doesn't support it, we want the user to know aerc.PushError(" error, unsupported for this worker") } diff --git a/commands/msg/move.go b/commands/msg/move.go index 098227e3..d88a36f1 100644 --- a/commands/msg/move.go +++ b/commands/msg/move.go @@ -62,6 +62,7 @@ func (Move) Execute(aerc *widgets.Aerc, args []string) error { aerc.RemoveTab(h.msgProvider) } store.Next() + store.ClearVisualMark() acct.Messages().Invalidate() joinedArgs := strings.Join(args[optind:], " ") store.Move(uids, joinedArgs, createParents, func( @@ -71,6 +72,7 @@ func (Move) Execute(aerc *widgets.Aerc, args []string) error { case *types.Done: aerc.PushStatus("Message moved to "+joinedArgs, 10*time.Second) case *types.Error: + store.Remark() aerc.PushError(msg.Error.Error()) } }) |