Email layout
-
John Smith90210
Comments or thoughts? Can this be done with the current keybinding configuration files (.plist)?
-
John Smith90210
I think it might be possible to do most of what I am describing above if we add a keybinding selector that simply makes the preview empty, that is the equivalent of clicking in a blank spot in the inbox panel so that the preview window no longer shows any email. Combining with some of the existing keybinding selectors, it should be possible to implement something similar to what I am describing. For example, "e" would archive and blank out the preview window. Same for command-enter: send and blank out the preview window. Then you can add nextMessage: and openMessages: to other keybindings to make it work.
-
benny
- State changed from new to bluesky
Sorry about the late reply. There actually is a deselection key binding selector available:
"e" = ( "archive:", "deselectAll:" );But you could perhaps also change the navigation behavior as described here.
With respect to supporting layout-view-replacements I'm afraid it's not a straightforward change. You might get something closer to what you want if you enable using tabs in the Dock System Preferences pane.
-
John Smith90210
Hi,
Thanks for the update. I tried a couple of things. It's mostly working with a few bugs. But I am not sure this can be fixed though.
There is an issue around MmMessagesOutlineMoveStrategy.
Option 1: MmMessagesOutlineMoveStrategy = next
That's the default.
Let's say [ is mapped to "archive:". Because of MmMessagesOutlineMoveStrategy, you get archive + next (which means go up in the inbox if it is sorted from new to old).
For ] we need to map it to "archive:", "nextMessage:". The result is something like this. Assume we have these messages in the inbox:
A B CThe selected message is B. Press ], you get
A CThen next: selects A, then "nextMessage:" selects C (going down in the Inbox). This is the desired outcome.
Go back to
A B CSelect A. Then press ]. You get
B CB is the current "selected message" at that point. next: does nothing (already at top). "nextMessage:" selects C. But this is wrong because the user intended to select B, that is the message below A. Instead C is selected.
[ will select B. This is OK although we would be hard pressed to explain how B is the message before A (above A in the Inbox).
Option 2: MmMessagesOutlineMoveStrategy = none
[ no longer works. If you map [ to archive: no message is selected (which is correct). If you map it to ("archive:", "previousMessage:"), then the message at the bottom of the inbox is selected. Presumably, this is because no message being currently selected previousMessage: does not know where to go. This is similar to pressing p after *n (deselect all).
So none of these options can work in all cases. The correct behavior is that after moving to archive, the "cursor" should point between 2 messages.
A B CArchive B. The cursor is between A and C. Then you choose next or previous to select either A or C. This will work regardless of whether B is at the top, middle, or bottom of the inbox.
-
benny
It took some time, but I've finally read your comments. I understand the issue and your “solution” is probably the most flexible. In a sense it's an alternative movement strategy similar to “none”, e.g., named “virtual” (it's possible that no-one would want “none”). I'm not sure it's easily implemented though...
I guess MailMate would do the right thing most of the time if it just remembered the most recently selected row and used that when next/PreviousMessage is used when nothing is selected... If it's important to you then I can look into that.
-
John Smith90210
I think that's OK. Thanks for offering but this seems like a non-trivial amount of work and the current setup works really well already. I think we can close this ticket really.
Here is my current set up for those who are interested. See the files attached.
I selected 2 seconds for "Mark messages read after."
I changed the default for the action after moving a message. It's now "previous".
In a terminal window:
$ defaults write com.freron.MailMate MmMessagesOutlineMoveStrategy -string "previous"New key bindings:
- "Escape" to deselect all messages
- "e" for archive and deselect all messages
- Page up (fn + up arrow): archive + show message above
- Page down (fn + down arrow): archive + show message below
- command + return: send
- shift + command + return: send + archive
The rest of the key bindings are the default bindings for Gmail.
To select the new key bindings, copy the file "BindingsPlus.plist" to the directory
~/Library/Application Support/MailMate/Resources/KeyBindings/In Preferences (command + ","), select "Custom Key Bindings Enable" and enter BindingsPlus.
When the top message is selected in the Inbox, Page up will archive and show the next message. When the bottom message is selected, Page down will archive and show the next message.
-
benny
Thanks for sharing! I'll keep the ticket in the “bluesky” state for now.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.


