Code Monkey home page Code Monkey logo

mailmate-customization's Introduction

MailMate Customization

I regularly use MailMate as my email client because it allows customization.

To make it more to my liking, I have:

  1. Added a set of custom key bindings that are inspired by Vi/Mutt/Gmail.
  2. Added a custom fixed layout view that ports the correspondence view to widescreen.
  3. Freed normal key bindings via "System Preferences -> Keyboard -> Shortcuts -> App Shortcuts".

Key Bindings

# Viewing/Reading Messages
# If the message pane is focused, then the key bindings affect the messages pane
# If the message pane is not focused, then the key bindings affect the correspondence pane
j/k             Select next/previous message
J/K             Select current email and move down/up (always in messages pane!)
n/p             Go to next/previous thread
h/l             Collapse/expand thread
S-Space/Space   Scroll up/down in content pane
P/:             Scroll up/down in content pane
u               Toggle read/unread status
s               Toggle starred status
e               Archive
v               Move message (opens move message window)
!               Move to junk
#               Delete message (also bound to Command-Backspace)
c               New message
r               Reply all
R               Reply reply-to (sender) only
f               Forward message
O               Show previous format (usually used to go back to plaintext)
o               Show next format (usually to go to HTML)
L               Load images once
d               Save attachments
T               Show/focus thread (leave view with Backspace/Esc)

# Composing
Command-I       Focus identity selector ("From")
Command-S       Focus signature selector
Command-M       Toggle markdown mode
Command-K       Toggle markdown preview (when in compose mode)

# General
/               Search all messages
z               Undo
Z               Redo
Backspace       Go back in history
Shift-Backspace Go forward in history

# Movement
;               Go to inbox (opens go to mailbox window)
Command-J/K     Go to next/previous inbox (pane does not to be focused)
Option-J/K      Go to next/previous inbox with non-zero count (pane does not to be focused)
gg              Go to first message in messages/correspondence pane (depending on focus)
gi              Go to inbox mailbox
gd              Go to drafts mailbox
gs              Go to starred/flagged messages mailbox
gt              Go to sent messages mailbox
G               Go to last message in messages/correspondence pane (depending on focus)

# Focusing
Command-h       Focus mailbox pane
Command-j/8     Focus correspondence pane
Command-k/9     Focus messages pane
Command-l/0     Focus message view (useful scrolling)

Installation

To install the custom key bindings and/or custom layout, you just need to symlink them:

mkdir -p "~/Library/Application Support/MailMate/Resources/KeyBindings"
ln -s KeyBindings/cao.plist "~/Library/Application Support/MailMate/Resources/KeyBindings/cao.plist"

mkdir -p "~/Library/Application Support/MailMate/Resources/Layouts/Mailboxes"
ln -s Layouts/Mailboxes/wide_correspondence.plist "~/Library/Application Support/MailMate/Resources/Layouts/Mailboxes/wide_correspondence.plist"

Remapping of Conflicting Key Bindings

The following MailMate key bindings conflicted for me, and I remapped them to Shift-Control-Option-Command-F12, as unmapping seems to be impossible:

  • Move to Junk
  • Jump to Selection
  • Delete
  • Delete Now
  • Hide MailMate

Known Issues

There are some issues that I have not been able to look into. If you know how to resolve them, I would appreciate if you would let me know.

  1. When deleting an email, multiple messages might become selected (via the correspondence pane).
  2. Panes might not get restored to original size (this might be an interaction with automatic resizing via Yabai). It might make sense to just fix them to a specific size.

mailmate-customization's People

Contributors

cao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.