in applescript

OmniFocus defer script updated

Updated 6/15/10: minor edit to improve efficiency

The updated Defer script for OmniFocus is ready. Changes include:

  • Bug fixes to make the script more reliable, particularly when deferring multiple items.

    • For most of these I’m indebted to Curt Clifton, who made the most critical bug fixes on the OmniFocus forum. (If you use OmniFocus, his scripts and tools are invaluable; be sure visit his site.)
  • The default action now defers both start and due dates.

  • Notifications code has been rewritten to make the script friendly for machines without Growl installed.

    • While testing, I discovered that GrowlHelperApp crashes on nearly 10% of notification calls. To work around this, the script now checks to see if GrowlHelperApp is running; if not, the script launches it. If Growl is not installed or can’t launch, the script displays a generic notification of the defer results.

If you experience delays with the script, it’s almost certainly an issue with Growl, not OmniFocus. This is much less of an issue if you launch the script via a third-party utility like FastScripts, because any Growl-related delays will be absorbed by the script launcher, not OmniFocus. If you primarily invoke the Defer script from your OmniFocus toolbar, you can always disable alerts to speed things up. To do this, simply open the script in Script Editor and change property showAlert to false.

Download it here.

Write a Comment

Comment

  1. I use your script all the time. How can I make a keyboard shortcut for it?

  2. Jenn,

    Good to hear you’re enjoying them! I suggest using FastScripts [regular, which is paid, or lite, which is free]; Quicksilver (free); or Butler (donationware).

    While FastScripts is perhaps easiest/fastest, any of these should allow you to create shortcuts for the script. Also, all of these have the benefit of offloading the AppleScript to another program, so OmniFocus doesn’t slow down when there’s a script delay (which happens on occasion). You can search macupdate.com for any of these programs.

    Hope this helps.

    Best, Dan

  3. I’m getting a error when trying to Defer some task in Omnifocus running Lion. I get this (Error Number:Unknown error. -1) anyone know what to do here?

  4. Hi, great script but I think there is a small bug with the ChangeScope property. If you change the property to “Due Only” it continues to change the start dates but not the due dates.

  5. Sorry, I should add that this bug only occurs if there is no pre-existing due date. If you set the changeproperty scope to “Start Only” and there is no pre-existing start date it works fine and simply defers the amount of days from the current date. I would have expected it to work the same way under “Due Only” mode.