Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In Snow Leopard holding option-up arrow (for > 1s) will select the first message and option-down arrow will select the last message in Mail.app (see: What Is the Keyboard Shortcut for Moving to Last Message in Mac OS X Mail.app?) but this no longer works in Lion. Does anyone know if there is a new shortcut?

share|improve this question

1 Answer 1

up vote 4 down vote accepted

Unfortunately, I can only offer workarounds...

You can deselect all messages e.g. by clicking the empty area if the list doesn't fill all vertical space, then press

  • ArrowUp to select the last message
  • ArrowDown to select the first message

To get the last message, press Cmd-A, Shift-ArrowUp, ArrowDown.


If you don't use Mail's full screen mode, you can do the following:

Open Automator and create a new Service that receives no input in Mail. From the Utilities library, add a Run AppleScript action by double-clicking. Then use the following script code:

on run {input, parameters}
    tell application "System Events"
        tell application "System Events"
            tell application process "Mail"
                select first row of table 1 of scroll area 1 of first group of second splitter group of first splitter group of first window
            end tell
        end tell
    end tell
end run

This script has been developed for the new three-column view. If you use the classic pre-Lion view, remove "of first group" from that script.

Save as Select first row and assign a keyboard shortcut, e.g. Option-UpArrow, in System Preferences » Keyboard » Keyboard Shortcuts » Services.

Create a new Service and repeat this, but replace first row by last row and name it Select last row.

These services will only be available in Mail, and select the first and last row respectively when you press the assigned keyboard shortcuts.


An alternative AppleScript, that works even in full screen mode and doesn't require the Accessibility API (UI scripting):

on run {input, parameters}
    tell application "Mail" to set selected messages of first message viewer to last item of messages of first message viewer
end run

Replace last item by first item for the first list element. Again, create two Services and assign keyboard shortcuts.

If you are in threaded view, select View » Expand all Conversations first, as single messages that are part of a thread cannot be selected, and it cannot easily be determined which messages belong to a thread.

The alternative script below will select the bottom-most non-threaded message in the list, bounded by 50 attempts to not run forever:

on run {input, parameters}
tell application "Mail"
    set cnt to number of items of messages of first message viewer
    set lastitem to item cnt of messages of first message viewer
    set selected messages of first message viewer to lastitem

    set offst to 0
    repeat while selected messages of first message viewer = missing value and offst is less than 50
        set offst to offst + 1
        set lastitem to item (cnt - offst) of messages of first message viewer
        set selected messages of first message viewer to lastitem
    end repeat
    offst
end tell
end run
share|improve this answer
1  
Thanks Daniel! I ended up using the shorter alternative AppleScript however it seems that if I restart Mail.app the shortcut will stop working until I click on "Mail" in the menu and scroll down to "Services". Note that I don't have to click on any of the services, but just bring the menu into view for the shortcut to start working. Any idea why? –  Jawwad Oct 5 '11 at 20:26
1  
@jawwad sounds like a bug to me. Wouldn't surprise me given my experience with lion so far –  Daniel Beck Oct 6 '11 at 5:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.