[MlMt] rule (or some way) to delete all prior messages from same sender as selected message?
Kee Hinckley
kee at hinckley.com
Wed Jun 20 14:58:54 EDT 2018
I have two keyboard macros that I use a lot for this purpose. They
aren't exactly what you want, but close.
`sf` selects all messages with the same From.
`sr` selects all messages with the same Recipient.
Depending on the mailing list, one or the other works. Then, as people
have mentioned, you would command-click to unselect the current one.
Although usually I do this after reading the message, so I just nuke
them all.
I also have `df` and `dr` commands if I want to delete them all
immediately without checking to make sure it selected what I want (`dr`
in particular can be dangerous).
So in ~/Library/Application
Support/MailMate/Resources/KeyBindings/Kee.plist
You enable it in Preferences/General under Custom Key Bindings (just put
in "Kee", or whatever you call it).
Here's the file: (discard the parts you don't want).
```
{
// "r" = ( "replyAll:", "selectAll:", "decreaseQuoteLevel:",
"deselectAll:", "moveToBeginningOfDocument:", "insertNewline:",
"insertNewline:", "moveToBeginningOfDocument:" );
"r" = ( "addTag:", "HTMLReply", "replyAll:" );
"c" = "collapseThread:";
"e" = "expandThread:";
"j" = "nextMessage:";
"k" = "previousThread:";
"n" = "nextUnreadMessage:";
"p" = "previousUnreadMessage:";
"J" = ( "markAsNotJunk:", "removeTag:", "\\Seen",
"moveToMailbox:",'INBOX');
// delete commands
"d" = {
// Delete entire thread
"t" = ( "selectThread:", "deleteMessage:" );
// Delete the thread in the inbox, but leave filed items
alone
"i" = ( "selectWithFilter:", "#thread-id =
${#thread-id} and #source.path = 'INBOX'", "deleteMessage:" );
// Delete thread except mail that was mine (I sent)
"m" = ( "selectWithFilter:", "#thread-id = ${#thread-id}
and #source.path != 'Sent Messages' and #source.path != 'Sent Items'",
"deleteMessage:" );
// Delete thread except the stuff in inbox or sent (other)
"o" = ( "selectWithFilter:", "#thread-id =
${#thread-id} and #source.path != 'INBOX' and #source.path != 'Sent
Messages' and #source.path != 'Sent Items'", "deleteMessage:" );
// Delete the subject
"s" = ( "selectWithFilter:", "subject.body =
'${subject.body}'", "moveToMailbox:", "trash" );
// Delete by from address
"f" = ( "selectWithFilter:", "from.address =
'${from.address}'", "moveToMailbox:", "trash" );
// Delete any mail to this recipient
"r" = ( "selectWithFilter:", "#recipient.address =
'${#recipient.address}'", "moveToMailbox:", "trash" );
};
// select commands (good if you aren't sure what the delete in
thread action is going to do!)
"s" = {
// Select an entire thread
"t" = "selectThread:";
// Select just the items in the thread that are in my
inbox, leaving filed messages alone
"i" = ( "selectWithFilter:", "#thread-id =
${#thread-id} and #source.path = 'INBOX'" );
// Select thread except mail that was mine (I sent)
"m" = ( "selectWithFilter:", "#thread-id =
${#thread-id} and #source.path != 'Sent Messages' and #source.path !=
'Sent Items'" );
// Select thread except the stuff in inbox or sent (other)
"o" = ( "selectWithFilter:", "#thread-id =
${#thread-id} and #source.path != 'INBOX' and #source.path != 'Sent
Messages' and #source.path != 'Sent Items'" );
// Select the subject
"s" = ( "selectWithFilter:", "subject.body =
'${subject.body}'" );
// Select by from address
"f" = ( "selectWithFilter:", "from.address =
'${from.address}'" );
// Select any mail to this recipient (warning, I've had
this crash MailMate)
"r" = ( "selectWithFilter:", "#recipient.address =
'${#recipient.address}'" );
//"m" = ( "selectWithFilter:", "#thread-id =
${#thread-id} and #source.mailto !=[x] \\$SENT.source.mailto" );
// "m" = ( "selectWithFilter:", "#thread-id =
${#thread-id} and from.address !=[x] \\$SENT.from.address" );
};
// FROM SOMEONE "c" = ( "showThread:", "showCorrespondence" );
// Editing commands
// bold selection
"@b" = (selectWord:, setMark:, swapWithMark:, deleteToMark:,
insertText:, "**", yank:, insertText:, " ", moveLeft:, insertText:,
"**", moveRight:, deleteBackward:);
// italicize selection
"@i" = (selectWord:, setMark:, swapWithMark:, deleteToMark:,
insertText:, "_", yank:, insertText:, " ", moveLeft:, insertText:, "_",
moveRight:, deleteBackward:);
// typewriterize selection
"@t" = (selectWord:, setMark:, swapWithMark:, deleteToMark:,
insertText:, "`", yank:, insertText:, " ", moveLeft:, insertText:, "`",
moveRight:, deleteBackward:);
}
```
On 13 Jun 2018, at 7:34, Eric Sharakan wrote:
> Like many folks, I receive periodic mails from certain senders (weekly
> digest emails, sale info, etc). Is there a way to set up a rule or
> something that, when looking at a message, I can instruct MM to delete
> all prior messages from the same sender in the current mailbox?
>
> If not, please consider this a feature request. :-)
>
> Thanks.
>
> -Eric
> _______________________________________________
> mailmate mailing list
> mailmate at lists.freron.com
> https://lists.freron.com/listinfo/mailmate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freron.com/pipermail/mailmate/attachments/20180620/e035a42a/attachment.html>
More information about the mailmate
mailing list