use the currently selected message part (if any) as the original message
for quote-reply and forward.
honor viewer::alternatives if no message part was selected.
Signed-off-by: Sebastien Binet <s@sbinet.org>
---
commands/msg/forward.go | 3 ++-commands/msg/reply.go | 9 +--------commands/msg/utils.go | 15 +++++++++++++++
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/commands/msg/forward.go b/commands/msg/forward.go
index 4147e8c..20e945c 100644
--- a/commands/msg/forward.go+++ b/commands/msg/forward.go
@@ -143,11 +143,12 @@ func (f forward) Execute(args []string) error {
f.Template = config.Templates.Forwards
}
- part := lib.FindPlaintext(msg.BodyStructure, nil)+ part := getMessagePart(msg, widget) if part == nil {
part = lib.FindFirstNonMultipart(msg.BodyStructure, nil)
// if it's still nil here, we don't have a multipart msg, that's fine
}
+ err = addMimeType(msg, part, &original)
if err != nil {
return err
diff --git a/commands/msg/reply.go b/commands/msg/reply.go
index 4b3e7c8..333b3e3 100644
--- a/commands/msg/reply.go+++ b/commands/msg/reply.go
@@ -222,14 +222,7 @@ func (r reply) Execute(args []string) error {
return nil
}
- var part []int- for _, mime := range config.Viewer.Alternatives {- part = lib.FindMIMEPart(mime, msg.BodyStructure, nil)- if part != nil {- break- }- }-+ part := getMessagePart(msg, widget) if part == nil {
// mkey... let's get the first thing that isn't a container
// if that's still nil it's either not a multipart msg (ok) or
diff --git a/commands/msg/utils.go b/commands/msg/utils.go
index 4269334..d6dffd5 100644
--- a/commands/msg/utils.go+++ b/commands/msg/utils.go
@@ -6,6 +6,7 @@ import (
"git.sr.ht/~rjarry/aerc/app"
"git.sr.ht/~rjarry/aerc/commands"
+ "git.sr.ht/~rjarry/aerc/config" "git.sr.ht/~rjarry/aerc/lib"
"git.sr.ht/~rjarry/aerc/models"
)
@@ -59,3 +60,17 @@ func (h *helper) messages() ([]*models.MessageInfo, error) {
}
return commands.MsgInfoFromUids(store, uid, h.statusInfo)
}
++func getMessagePart(msg *models.MessageInfo, provider app.ProvidesMessage) []int {+ p := provider.SelectedMessagePart()+ if p != nil {+ return p.Index+ }+ for _, mime := range config.Viewer.Alternatives {+ part := lib.FindMIMEPart(mime, msg.BodyStructure, nil)+ if part != nil {+ return part+ }+ }+ return nil+}
--
2.43.0
On Tue Jan 9, 2024 at 4:06 PM UTC, Sebastien Binet wrote:
> use the currently selected message part (if any) as the original message> for quote-reply and forward.> honor viewer::alternatives if no message part was selected.>> Signed-off-by: Sebastien Binet <s@sbinet.org>> ---
Thanks. LGTM!
Reviewed-by: Koni Marti <koni.marti@gmail.com>
Applied: [PATCH aerc v3] commands/msg: use selected message part for quote-reply and forward
Sebastien Binet <s@sbinet.org> wrote:
> use the currently selected message part (if any) as the original message> for quote-reply and forward.> honor viewer::alternatives if no message part was selected.>> Signed-off-by: Sebastien Binet <s@sbinet.org>> ---
Acked-by: Robin Jarry <robin@jarry.cc>
Applied, thanks.
To git@git.sr.ht:~rjarry/aerc
680244d0533d..ec8b22b8eec4 master -> master
Re: Applied: [PATCH aerc v3] commands/msg: use selected message part for quote-reply and forward
On 17/01/2024, 11:59, Robin Jarry wrote:
> Sebastien Binet <s@sbinet.org> wrote:> > use the currently selected message part (if any) as the original message> > for quote-reply and forward.> > honor viewer::alternatives if no message part was selected.
Is there a way to disable this behaviour, at least for attachments? It
is kinda annoying when you reply to a message while an attachment is
selected and this attachment it's a binary file of some sort... I'd have
expected a flag in the reply/forward commands. Sorry for not pointing
this out while the patch was being reviewed.
Re: Applied: [PATCH aerc v3] commands/msg: use selected message part for quote-reply and forward
On Wed Feb 14, 2024 at 14:24 CET, inwit wrote:
>>> On 17/01/2024, 11:59, Robin Jarry wrote:> > Sebastien Binet <s@sbinet.org> wrote:> > > use the currently selected message part (if any) as the original message> > > for quote-reply and forward.> > > honor viewer::alternatives if no message part was selected.>> Is there a way to disable this behaviour, at least for attachments? It> is kinda annoying when you reply to a message while an attachment is> selected and this attachment it's a binary file of some sort... I'd have> expected a flag in the reply/forward commands. Sorry for not pointing> this out while the patch was being reviewed.
see:
https://lists.sr.ht/~rjarry/aerc-devel/patches/49490
as a tentative fix.
-s
Re: Applied: [PATCH aerc v3] commands/msg: use selected message part for quote-reply and forward
On Wed Feb 14, 2024 at 14:24 CET, inwit wrote:
>>> On 17/01/2024, 11:59, Robin Jarry wrote:> > Sebastien Binet <s@sbinet.org> wrote:> > > use the currently selected message part (if any) as the original message> > > for quote-reply and forward.> > > honor viewer::alternatives if no message part was selected.>> Is there a way to disable this behaviour, at least for attachments? It> is kinda annoying when you reply to a message while an attachment is> selected and this attachment it's a binary file of some sort... I'd have> expected a flag in the reply/forward commands. Sorry for not pointing> this out while the patch was being reviewed.
I've sent a patch :
- https://lists.sr.ht/~rjarry/aerc-devel/patches/49490
but perhaps it's not so well advised.
-s