aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--commands/msg/delete.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/commands/msg/delete.go b/commands/msg/delete.go
index 7b56a55d..2d7ad0f2 100644
--- a/commands/msg/delete.go
+++ b/commands/msg/delete.go
@@ -56,6 +56,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error {
// no more messages in the list
if next == nil {
aerc.RemoveTab(h.msgProvider)
+ store.Select(len(store.Uids()))
acct.Messages().Invalidate()
return
}
@@ -69,6 +70,12 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error {
aerc.ReplaceTab(mv, nextMv, next.Envelope.Subject)
})
}
+ } else {
+ if next == nil {
+ // We deleted the last message, select the new last message
+ // instead of the first message
+ store.Select(len(store.Uids()))
+ }
}
acct.Messages().Invalidate()
case *types.Error: