24 September 2007

So what if I don’t have Mail Act-On?

@apple@

I cringed when I first launched Leopard’s Mail.app and it warned me that the four plug-ins from my Tiger install weren’t compatible and had to be disabled. I can do without Mail Badger or Mail.appetizer, but I’ve already written several times about how essential Mail Act-On is for me.

I was ready to give up on Leopard for several months because of that, and wait until the extensions were upgraded, until I realized that I wasn’t really leveraging much of the power of Mail Act-On, and there were definitely other ways to go around: all I do is press Ctrl-< to move read/actioned messages from my inbox to a yearly archive folder. And it’s not like I don’t have a choice of programs that can register shortcuts and execute AppleScript.

So here I am, documenting the little snippet that will allow me to adjust my workflow to Leopard when I install it on the MacBook (along with setting up my inbox rules to display Growl notifications when I get new mail — but there are lots of walkthroughs about that on the web). I’m posting this here as an inspiration — a beacon of hope and efficiency — for you to consider: here’s how to keep your inbox tidy by archiving everything you don’t need with a simple hotkey.

Open the Quicksilver preferences (if you’re not using Quicksilver I’m not even talking to you — even though, as I said, there are lots of other options to associate AppleScript code to hotkeys); go to the Triggers pane; create a hotkey trigger with the following code in the first box and the “Run as AppleScript” action in the second box:

set i to 0

tell application “Mail”

  set s to selection

  repeat with m in s

    set i to i + 1

    set read status of m to true

    move m to mailbox “2007”

  end repeat

end tell

tell application “GrowlHelperApp”

  register as application “GarooActOn” all notifications {“GarooActOn”} default notifications {“GarooActOn”} icon of application “Mail”

  notify with name “GarooActOn” title “Mail” description (“” & i & ” message(s) archived.”) application name “GarooActOn”

end tell

And… you’re done. Well, I am, anyway.