{ // See http://manual.mailmate-app.com/custom_key_bindings // // The short cut for editing in sublime text is contained in // (ctrl+super+alt+down will open the selection below) // /Applications/MailMate.app/Contents/SharedSupport/Bundles/Sublime Text.mmBundle/Commands/Edit.mmCommand // /Applications/MailMate_64.app/Contents/SharedSupport/Bundles/Sublime Text.mmBundle/Commands/Edit.mmCommand // set to cmd-shift-s @S // // Likewise, for fantastical: // /Applications/MailMate.app/Contents/SharedSupport/Bundles/Fantastical.mmBundle/Commands/Create Event.mmCommand // /Applications/MailMate_64.app/Contents/SharedSupport/Bundles/Fantastical.mmBundle/Commands/Create Event.mmCommand // @C // g,g jumps to first message in message list // G jumps to last message in list "G" = ( "makeFirstResponder:", "mainOutline", "selectLastMessageRow:"); // "selectAll:"; // Select all messages "@d" = "deselectAll:"; // Clear selection of messages // "moveDownAndModifySelection:"; // Extend selection downwards // "moveUpAndModifySelection:"; // Extend selection upwards // ("selectWithFilter:", "Filter string"); // Select a subset of messages matched by the filter // // ( "selectWithFilter:", "#flags.flag = '\\Seen'"); // // // "openMessages:"; // Open message(s) in separate window(s) // "newMessage:"; // Create new message and open composer // "reply:"; // Reply to selected message // "replySender:"; // Reply to only the sender of the selected message "r" = "replyAll:"; // Reply to both sender and all recipients of the selected message // "replyList:"; // Reply to the mailing list of the selected message (if possible) // "forwardMessage:"; // Forward selected message(s) // "forwardAsAttachment:"; // Forward selected message as an attachment // "redirectMessage:"; // Redirect selected message // ("moveToMailbox:", "Mailbox UUID"); // (optional) Move selected messages to mailbox (or show mailbox selection window) // ("moveThreadToMailbox:", "Mailbox UUID"); // (not fully implemented) // ("copyToMailbox:", "Mailbox UUID"); // Copy selected messages to mailbox // "archive:"; // Shorthand for ( ‘moveToMailbox:’, ‘archive’ ) // "moveToJunk:"; // Shorthand for ( ‘moveToMailbox:’, ‘junk’ ) // "deleteMessage:"; // Shorthand for ( ‘moveToMailbox:’, ‘trash’ ) // "expungeMessage:"; // Delete without moving to the trash mailbox // ("toggleTag:", "IMAP keyword"); // Toggle an IMAP keyword (not necessarily a tag) // ("setTag:", "IMAP keyword"); // Set an IMAP keyword (not necessarily a tag) // ("removeTag:", "IMAP keyword"); // Remove an IMAP keyword (not necessarily a tag) // "toggleReadState:"; // Shorthand for ( ‘toggleTag:’, ‘\Seen’ ) // "toggleFlag:"; // Shorthand for ( ‘toggleTag:’, ‘\Flagged’ ) // "toggleMuteState:"; // Shorthand for ( ‘toggleTag:’, ‘$Muted’ ) // "markAsJunk:"; // Shorthand for ( ‘setTag:’, ‘$Junk’ ) — automatically clears not-junk related tags // "markAsNotJunk:"; // Shorthand for ( ‘setTag:’, ‘$NotJunk’ ) — automatically clears junk related tags // "^v" = "openAttachments:"; // Display “Save Attachments” panel "@A" = "saveAttachments:"; // Display “Save Attachments” panel "@D" = "saveAttachmentsInDownloads:"; // Save attachments in the default downloads folder // "undo:"; // Undo action (moved messages or keyword changes) // "redo:"; // Redo action (moved messages or keyword changes) // ("mailboxToggleTag:", "IMAP keyword"); // Toggle tag for messages in currently displayed mailbox (or search result) // ("mailboxSetTag:", "IMAP keyword"); // Set tag for messages in currently displayed mailbox (or search result) // ("mailboxRemoveTag:", "IMAP keyword"); // Remove tag for messages in currently displayed mailbox (or search result) // // expungeDeletedMessages:* - Permanently delete any messages marked as \Deleted in the currently displayed mailbox (or search result) // "saveDocument:"; // Save draft // "showContextMenu:"; // Show context sensitive menu (can be used to show spelling alternatives in the composer) "^H" = "showHeaders:"; // Show headers menu "^S" = "showSignatures:"; // Show signatures menu "^M" = "toggleMarkdown:"; // Show markup menu "^I" = "showIdentities:"; // Show identities menu (choice of “From”) "@!" = "send:"; // Send message "@\"" = "sendAndArchiveParent:"; // Send message and then archive the replied message // ("sendAndMoveParentToMailbox:", "Mailbox UUID"); // Send message and then move the replied message to the given mailbox // ("insertString:", "string Insert"); // text in composer // insertFormatString:** format string Insert text in composer using a format string "^W" = "copyAsLink:"; // "\UF728" = "archive:"; // "G" = "replyAll:"; // group reply "`" = "showThread:"; "~" = "showCorrespondence:"; "^~f" = "forwardAsAttachment:"; // "nextMessage:"; // Move to next message (expand if possible) // "previousMessage:"; // Move to previous message // "nextThread:"; // Move to next thread // "previousThread:"; // Move to previous thread // "@\U000A": "nextUnreadMessage:"; // Move to next unread message (expand if possible) // "previousUnreadMessage:"; // Move to previous unread message // "nextUnreadThread:"; // Move to next unread thread // "previousUnreadThread:"; // Move to previous unread thread // "rootOfThread:"; // Move to root of thread (search for thread if necessary) "@l" = "lastOfThread:"; // Move to last message of thread (with respect to received date) // "selectNextMessageRow:"; // Select next message (without expanding) // "selectPreviousMessageRow:"; // Select previous message (same as previousMessage:) // "selectFirstMessageRow:"; // Select first message // "selectLastMessageRow:"; // Select last message // "expand:"; // Expand selected messages // "collapse:"; // Collapse selected messages "@]" = "expandThread:"; // Expand selected threads "@[" = "collapseThread:"; // Collapse selected threads // "expandAll:"; // Expand all threads // "collapseAll:"; // Collapse all threads // "scrollPageDown:"; // Scroll one page down // "scrollPageUp:"; // Scroll one page up // "scrollPageDownOrNextUnreadMessage:"; // Scroll one page down if possible or skip to next message // "makeFirstResponder:"; // View identifier Identifiers can be found in layout files // "goToMailbox:"; // Mailbox UUID (optional) Select mailbox (or show mailbox selection window) // "selectNextMailboxRow:"; // Select next mailbox (without expanding) // "selectPreviousMailboxRow:"; // Select previous mailbox // "selectNextMailbox:"; // Select next mailbox (expand if possible) // "selectPreviousMailbox:"; // Select previous mailbox (same as selectPreviousMailboxRow:) // "searchAllMessages:"; // Initiate search in “All Messages” // "mailboxSearch:"; // Initiate search in currently selected mailbox // "showThread:"; // Initiate search for messages in the same thread(s) // "showCorrespondence:"; // Initiate search for messages with the same correspondent(s) // Enter: opens message in new window // "c" = "newMessage:"; "/" = "mailboxSearch:"; // "n" = "nextMessage:"; // "p" = "previousMessage:"; // "j" = "nextThread:"; // "k" = "previousThread:"; // "o" = "openMessages:"; // Gmail: Also expands or collapses a message if you are in 'Conversation View.' "e" = "archive:"; // "m" = ( "toggleMuteState:", "archive:" ); // FIXME: Should be 'markAsMuted:' "s" = "toggleFlag:"; // "!" = "moveToJunk:"; "r" = "reply:"; "a" = "replyAll:"; // "f" = "forwardMessage:"; // "^s" = "saveDocument:"; // // l Label // "v" = "moveToMailbox:"; // "I" = "toggleReadState:"; // FIXME: Should be ( "markAsRead:", "nextMessage:"); // "U" = "toggleReadState:"; // FIXME: Should be "markAsUnRead:" // "z" = "undo:"; // // Only in MailMate // "N" = "moveDownAndModifySelection:"; // "P" = "moveUpAndModifySelection:"; // "J" = "moveDownAndModifySelection:"; // "K" = "moveUpAndModifySelection:"; // "Z" = "redo:"; // https://freron.lighthouseapp.com/projects/58672/tickets/333-colored-flags "f" = { "0" = ( "removeTag:", "\\Flagged", "removeTag:", "$MailFlagBit0", "removeTag:", "$MailFlagBit1", "removeTag:", "$MailFlagBit2" ); "1" = ( "setTag:", "\\Flagged", "removeTag:", "$MailFlagBit0", "removeTag:", "$MailFlagBit1", "removeTag:", "$MailFlagBit2" ); "2" = ( "setTag:", "\\Flagged", "setTag:", "$MailFlagBit0", "removeTag:", "$MailFlagBit1", "removeTag:", "$MailFlagBit2" ); "3" = ( "setTag:", "\\Flagged", "removeTag:", "$MailFlagBit0", "setTag:", "$MailFlagBit1", "removeTag:", "$MailFlagBit2" ); "4" = ( "setTag:", "\\Flagged", "setTag:", "$MailFlagBit0", "setTag:", "$MailFlagBit1", "removeTag:", "$MailFlagBit2" ); "5" = ( "setTag:", "\\Flagged", "removeTag:", "$MailFlagBit0", "removeTag:", "$MailFlagBit1", "setTag:", "$MailFlagBit2" ); "6" = ( "setTag:", "\\Flagged", "setTag:", "$MailFlagBit0", "removeTag:", "$MailFlagBit1", "setTag:", "$MailFlagBit2" ); "7" = ( "setTag:", "\\Flagged", "removeTag:", "$MailFlagBit0", "setTag:", "$MailFlagBit1", "setTag:", "$MailFlagBit2" ); }; // get mailbox UUIDs from ~/Library/Application Support/MailMate/Mailboxes.plist "^z" = ( "goToMailbox:", "INBOX" ); "^i" = ( "goToMailbox:", "0BABBCF3-8994-41FB-ADFF-446562485328" ); "^f" = ( "goToMailbox:", "96B9D24D-66A4-4E8B-ADCB-36F10820D2D4" ); "^d" = ( "goToMailbox:", "27AF4533-2F42-4484-93A1-B6A54D14111B" ); "^m" = ( "goToMailbox:", "F27A2806-01C8-4C3D-9898-3C4EB6CCFD65" ); "^b" = ( "goToMailbox:", "83EB57D4-DB3D-4143-9E71-7F94AF3A2279" ); "^w" = ( "goToMailbox:", "2DD30724-2616-40D3-9502-1F3766716D52" ); "^l" = ( "goToMailbox:", "F1FB2565-845E-4D14-AE54-4883D2CAC8FF" ); "^r" = ( "goToMailbox:", "8B6E13BB-E40D-4D32-8F8E-8E48C7878760" ); "^o" = ( "goToMailbox:", "CA1E05B2-CE57-4D51-B823-C2DADBF4C3AB" ); "^t" = ( "goToMailbox:", "74BE491E-38FE-4383-A4A1-329033B52ADC" ); "^u" = ( "goToMailbox:", "F8735CB4-C570-4FD4-84AB-03793066B1EA" ); "^v" = ( "goToMailbox:", "0BABBCF3-8994-41FB-ADFF-446562485328" ); // // Combo keys "g" = { // "a" = ( "goToMailbox:", "ALL_MESSAGES" ); "z" = ( "goToMailbox:", "INBOX" ); "f" = ( "goToMailbox:", "96B9D24D-66A4-4E8B-ADCB-36F10820D2D4" ); "d" = ( "goToMailbox:", "27AF4533-2F42-4484-93A1-B6A54D14111B" ); "m" = ( "goToMailbox:", "F27A2806-01C8-4C3D-9898-3C4EB6CCFD65" ); "b" = ( "goToMailbox:", "83EB57D4-DB3D-4143-9E71-7F94AF3A2279" ); "w" = ( "goToMailbox:", "2DD30724-2616-40D3-9502-1F3766716D52" ); "i" = ( "goToMailbox:", "0BABBCF3-8994-41FB-ADFF-446562485328" ); "l" = ( "goToMailbox:", "F1FB2565-845E-4D14-AE54-4883D2CAC8FF" ); "r" = ( "goToMailbox:", "8B6E13BB-E40D-4D32-8F8E-8E48C7878760" ); "o" = ( "goToMailbox:", "CA1E05B2-CE57-4D51-B823-C2DADBF4C3AB" ); "f" = ( "goToMailbox:", "74BE491E-38FE-4383-A4A1-329033B52ADC" ); "t" = ( "goToMailbox:", "74BE491E-38FE-4383-A4A1-329033B52ADC" ); "v" = ( "goToMailbox:", "0BABBCF3-8994-41FB-ADFF-446562485328" ); "g" = ( "makeFirstResponder:", "mainOutline", "selectFirstMessageRow:"); "u" = ( "goToMailbox:", "F8735CB4-C570-4FD4-84AB-03793066B1EA" ); // // g then c Go to 'Contacts' Takes you to your Contacts list. // "d" = ( "goToMailbox:", "DRAFTS" ); // "l" = "goToMailbox:"; // "s" = ( "goToMailbox:", "SENT" ); }; // "*" = { // "a" = "selectAll:"; // "n" = "deselectAll:"; // "r" = ( "selectWithFilter:", "#flags.flag = '\\Seen'"); // Selects all mail you've read. // "u" = ( "selectWithFilter:", "#flags.flag !=[x] '\\Seen'"); // Selects all unread mail. // "s" = ( "selectWithFilter:", "#flags.flag = '\\Flagged'"); // Selects all starred mail. // "t" = ( "selectWithFilter:", "#flags.flag !=[x] '\\Flagged'"); // Selects all unstarred mail. // }; }