commands/msgview/save and commands/msgview/pipe now use case
insensitive comparisons to determine if the part is encoded as base64
or quoted-printable.
The current implementation has three classes of flags:
- readFlag
- delFlag
- flaggedFlag
The logic to check for them should be in parallel if branches rather
than in sequential if-else ladder.
Redirecting stdout writes log output to that file, but this wasn't
easily discoverable.
v2 removes changes to aerc-tutorial; I was also on the fence about that,
and agree that it isn't on-topic for the tutorial.
Addresses https://todo.sr.ht/~sircmpwn/aerc2/180
This adds new functionality to :save in the message view for specifying
directories in the path. A new flag, -p, is also added to :save for
automatically creating any directories in the path that do not exist.
If the path ends in a / (e.g. "Downloads/mail/") or if the path is an
existing directory, the part's file name is the filename from the mail
header for the part. Otherwise, it uses the last element in the path as
the filename (e.g. 'blah.jpg' is the filename if the path is
'Downloads/mail/blah.jpg')
Inside the generic msg command we cannot use aerc.SelectedAccount()
because the method naively assumes the current tab is an AccountView.
Use the ProvidesMessage interface instead.
Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
This implements selecting the most preferred mimetype under the
'View->Alternatives' configuration setting when viewing a message.
Mimetypes in the alternatives array are weighted by their position,
where the lower the index in the array the higher the priority, so this
is taken into account during selection.
If no message part matches a mimetype in the alternatives array, then it
selects the first mimetype in the message.
Adds an archive command that moves the current message into the folder
specified in the account config entry.
Supports three layouts at this point:
- flat: puts all messages next to each other
- year: creates a folder per year
- month: same as above, plus folders per month
This also adds a "-p" argument to "cp" and "mv" that works like
"--parents" on mkdir(1). We use this to auto-create the directories
for the archive layout.