05401, 05403, 05446, 05462, 05482, 05673, 05701, 37signals, aardman animations, ac propulsion, adium, ads, aim, airport, al franken, apple, applescript, article id, asterisk, at&t, atom, automobile, away message, backpack, badge, basecamp, bash, bernie sanders, bicycling, billboard, blacklisting, blog, blogroll, blogzot, bluetooth, blunt, book, bot-net, brad bird, btv, bug, build, bungie, bunny, burlington, camping, can-spam, cars, centralized, channel camp, classic, classic mac workshop, cms, collection, color classic, comedy, comedy central, concert, conversion, cookbook, corrosion, crashing, creature comforts, criticism, daring fireball, darwin, dashboard, dcl, derbi, design, development, digg, dilemma, discussion, disney, download, drivers, dynetk, e-mail, e3, easter, ebox, eckhart, eckhart koppen, eddie izzard, edward gorey, einstein, electric motorcycle, electric motorsport, electric vehicle, electronics research laboratory, elmo, emate, emulator, environment, environmental impact, erin mckeown, escale, exploit, express 530t, expressionengine, feature, feed, feedburner, filtering, finance, firmware, flynn center, font, ford, for sale, free, freeverse, freezing, front row, games, gears of war, gmail, google, gpr, grant hutchinson, graylisting, halo, hayao miyazaki, higher ground, highrise, hiking, hiroshi noguchi, hotspot, hulu, humor, hybrid, hybrid technologies, intel, iphone, ipod touch, isao takahata, itunes, jabber, javascript, jetblue, jfk, jon stewart, kid koala, launchd, layover, leopard, liberal, long trail, mac, macbook pro, macworld, maczot, mail, makkintosshu, marathon, marketing, matthias melcher, media, mesagepad, messagepad, microbus, microsoft, mobileme, money, monitoring, moon river, motorola, movie, movies, mrtg, music, mwsf07, mystic, nascar, ncx, nda, newton, newton press, newtontalk, newton x press, nick park, npr, openpbx, open source, operation ivy, optimization, osheaga, osx, os x, owc, paul guyot, pbx, pdf, pico card, pixar, plist, plug-in, pod jungle, politics, psp, pump-and-dump, quicksilver, racism, rack-n-roll, ratatouille, rebooting, recycling, required reading, restoration, review, roadster, room without a window, rss, scion, screencast, script, security, server, sesame street, seven days, shame, shoppinging cart, simon bell, small dog electronics, snow leopard, social, software, solution, spam, spam haus, startup item, statistics, status, stefano paris, stephen colbert, steven colbert, steven frank, studio ghibli, subethaedit, subversion, sync, syndication, sysmon, tablet, tags, tax, technorati, tesla, tesla motors, textpattern, the colbert report, the daily show, the flaming lips, the gashleycrumb tinies, times argus, titles, todd kollins, tom gage, travel, trends, troubleshooting, twitter, typography, tzero, unicel, unna, update, upgrade, url title, user interface, v710, venue, verizon wireless, vermont, victor rehorst, volkswagen, volvo 122, vpr, vw, wait wait don't tell me, wall-e, wallace & gromit, wavelan, web, web 2.0, web site, whitepaper, wifi, wwdc, wwnc, xbox 360, xbox live, ze frank, zero emission
Articles Tagged "daring-fireball":
Today John Gruber posted an excellent set1 of AppleScripts that automate replying without top-posting in Apple’s Mail.app. You can read his article for the full description.
It’s exactly what I’ve been looking for to allow myself to keep my anal-retentive e-mail replying habits and increase productivity. However, I had one problem with his implementation: it doesn’t handle signatures gracefully.
I have a couple different e-mail accounts in Mail.app that I use on a daily basis and each has a unique signature (which also helps me know which account I’m replying from), but his script dumps you after the signature if you have one set to be auto-selected. I could just set it to select “None” by default, but then I lose the increased efficiency by having to select the signature.
So, I came up with a four-line addition to his script which adds the following fourth step to his process:
- If no default or random signature is selected, select the first signature from the pop-up menu.
It is implemented by adding the following immediately before the second-to-last “end tell“:
if value of (pop up button 1 of window 1) is "None" then
click pop up button 1 of window 1 -- The "Signature" Pop-up
click menu item 3 of menu 1 of pop up button 1 of window 1 -- The first signature in the list
end if
Of course, one can always change “menu item 3“ to read “menu item ‘signature-name‘“, where “signature-name“ is the name of the signature you want to select, if you don’t want it to just pick the first out of the list. Hell, you can even modify it to pick a random signature if you want.
So, to be as clear as possible, the full, modifed, AppleScript is as follows:
tell application "Mail" to activate
tell application "System Events"
tell process "Mail"
tell menu bar 1
click menu bar item "Message"'s menu "Message"'s menu item "Reply"
end tell
delay 0.5
key code 117 -- Forward Delete
key code 125 using command down -- Down Arrow
key code 36 -- Return
if value of (pop up button 1 of window 1) is "None" then
click pop up button 1 of window 1 -- The "Signature" Pop-up
click menu item 3 of menu 1 of pop up button 1 of window 1 -- The first signature in the list
end if
end tell
end tell
Thanks go out to John. Hopefully my modifications will be helpful to others too.
Update: My apologies for the horrendously tiny font for my code blocks. I’ve had a redesign in the works for a while. The site redesign has now gone live, so the code font should be much more legible.
1 I guess you’d call it a set. It’s one script with instructions for the one word addition to make the second script.
Twitter as my global status message ¬
2006-12-12
When John Gruber mentioned Twitter a couple weeks ago, saying, ”[his] spidey sense says Twitter is going to be one of those ‘everyone’s using it’ big deals pretty soon,” I went straight over to twitter.com to see what it was all about.
When I got there I was pretty under-whelmed with the concept of the site/service (all it does is ask, “What are you doing?”) and left pretty quickly. It’s like a blog where all you post is a 143 character quick message about what you’re doing. Big deal. So I browsed on.
About 30 minutes later it suddenly hit me. What if I used Twitter as a central location to update a personal status/away-message for my web site, Adium (and so all my AIM, Jabber, and Yahoo! Messenger accounts), possibly finger, as well as whatever service I start using next. That’s where Twitter’s ability to post via web, AIM/Jabber, or cell phone suddenly appeared to be complete genius to me.
I’ve never cared for the SMS messaging functionality for reminders in Google Calendar or other services and I sure don’t want to use my cell phone to post weblog entries like some people do, but how many times have I gotten back to my computer to find numerous IMs from people that hadn’t caught on that I was away or didn’t realize I was busy with some other project? Obviously too many to count on all my digits (including toes). So, integrating a centralized status message with as many services as possible would be very beneficial to me.
I quickly happened across the TwitterAdium Xtra for Adium1, found the API fairly easy to work with via JavaScript, a Textpattern plug-in, and many other cool things.
What I’m finding out about the latest “Web 2.0” sites/services is that their true power is not so much in their tagging (although very useful) or their community aspects (which I tend to care little about), but in that many of them publish APIs and embrace others using them as building blocks. “Web 2.0”—or are we up to 2.5 yet?—is very much like working on a unix command line: others have created many, many useful tools and all you have to do is pipe their output to others or occasionally write a script to glue them all together.
1 Unfortunately, TwitterAdium currently requires the latest beta and I’m using the stable release, so I’ll have to actually upgrade or wait it out.

