5

In Mail.app (8.2 on Yosemite 10.10.3), when I click a message in the list (preview is on the right) and delete it (using keyboard or mouse), it seems quite random as to whether Mail will move the selection to the message above the one I just deleted:

going up

or the one below:

going down

This often results in my deleting a bunch of messages I didn't mean to as I click the top of a list of e.g. build notifications and hit delete multiple times, expecting it to work down through this list, but instead it moves upwards.

I've tried various things - for example I thought it seemed to correlate with my most recent keyboard navigation in the list - if I hit up arrow, then click a mail, then hit delete it would move up, but it's not consistently that either.

Anyone got an explanation, and preferably a solution?

EDIT: here's a video of it happening. I start a sequence by hitting up arrow and pressing delete, then going click-delete repeatedly, and at the end of the video, the selection changes direction: http://youtu.be/hKq7qA3UgaM

  • In your video, where the direction changes, it looks like the arrow key was used and not the mouse button. This is impossible to see because the cursor is on the same item as the arrow key would have selected. But because only arrow keys change the direction this is the only logical explanation I have. – jazZRo Jul 3 '15 at 23:44
  • @jazZRo apologies for the re-post but wanted to correct a typo - it may look like that, but it wasn't - I have re-exported the video with mouse clicks highlighted to clarify: youtu.be/TcyTLJMG06o . It only looks like a keystroke because I didn't move the mouse between clicks, but I assure you it was a mouse click. – CupawnTae Jul 4 '15 at 0:09
  • since your video can be misleading, I used flags to make it clear that it does deletes in the last scrolling direction. – Ruskes Jul 4 '15 at 1:38
  • @Buscar웃SD thanks for the idea of using flags. I've made another video that I hope makes it clearer. Note that after I delete the first grey message I don't use the arrow keys again - only mouse clicks and delete. The first two deletes move up but the last one moves down to the red flag. youtu.be/hKq7qA3UgaM – CupawnTae Jul 4 '15 at 9:22
6

When you click with the mouse button on an item directly above or below the currently selected one, Mail behaves the same way as it would with the down and up arrows on the keyboard.

When you hit the down or up key to select the next item in the list, Mail is programmed so that it remembers your "working direction". Which means when you move the selection one item downwards and delete that item, the selection moves to the next item below the currently deleted item. So this also happens when you click with the mouse on the first item below the currently selected one, which is the case in your video.

  • Yes that's correct, it's the very next email. Because of your question I got curious and tested it, and I haven't seen any exceptions to this. – jazZRo Jul 4 '15 at 10:37
  • Looks like you've nailed it! Similarly (and this is the real issue I was having), if I delete a few messages (working downwards as any sane person would), then click the message above and hit delete, it starts "working" upwards, which is dreadful behaviour IMHO. Unlikely to be any way to change the behaviour in Mail, so I guess I'll just have to learn to think before deleting multiple messages. One of those instances of Apple trying to be too smart and not giving the user the option of desmartifying it I guess... – CupawnTae Jul 4 '15 at 10:41
  • 1
    The app just checks if the next or previous mail got selected without checking if this was done with the mouse or keyboard. Looks like the work of a lazy programmer if you ask me ;-) – jazZRo Jul 4 '15 at 11:00
  • :) that's always a possibility... But the whole remembering-the-direction thing is poor UX I think - it's a list of items, and standard behaviour when you delete an item in a list is for the items below to move up to fill the void. Users will expect that. Also, there's no indication of working direction in the UI, and it persists until you close the app. So if come to my mail today, click a mail (that's not adjacent to the current one!) and hit delete twice, which mail gets deleted depends on the direction I was last working in yesterday! And I have no way of knowing except by wait-and-see. – CupawnTae Jul 4 '15 at 11:20
0

If you want mail to ignore the sort order and always go to the "next" message, you can run the following command in terminal:

defaults write com.apple.mail IgnoreSortOrderWhenSelectingAfterDelete 1

  • Very interesting - didn't know about this setting. Doesn't appear to change the behaviour in this case though - maybe it only applies to "classic" layout or something. But when I run this and restart Mail.app, the selection still moves in whichever direction I had been moving before hitting delete. Thanks for the info anyway. – CupawnTae Jan 11 '16 at 9:16
0

I've discovered this setting:

defaults read com.apple.mail MessageListNextMessageDirection

which toggles between the values 1 & 2 when I use the up or down keys in Mail. Is there any way to "lock" a default setting like this and prevent the app from changing it?

  • ooh, interesting! – CupawnTae Jan 11 '18 at 21:02
  • unfortunately writing to the value doesn't seem to change the direction, so (as is common with user defaults) it's presumably keeping the current direction in memory and just writing a copy to defaults. So even if it could be frozen, it probably wouldn't change the behaviour – CupawnTae Jan 11 '18 at 21:10
  • 1
    well that stinks – Noah Sutherland Jan 12 '18 at 0:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .