From 56dabb5c9cd769d0bbb3c37ba514da150eeb5943 Mon Sep 17 00:00:00 2001 From: Tim Culverhouse Date: Sun, 31 Jul 2022 09:41:20 -0500 Subject: [PATCH] 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 Acked-by: Robin Jarry --- commands/msg/archive.go | 2 ++ commands/msg/delete.go | 3 +++ commands/msg/move.go | 2 ++ 3 files changed, 7 insertions(+) diff --git a/commands/msg/archive.go b/commands/msg/archive.go index ebe63ff..e1ff9a6 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 ce5c4ca..d90132a 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 098227e..d88a36f 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()) } })