OmniFocus rocks. I can’t really imagine managing myself personally or professionally without this tool. Nevertheless, despite thousands of hours of development and beta testing, it has its share of quirks. Notably, in my work I have a few daily-type tasks I set to repeat every day. Unfortunately, there’s no “workday” option in the repeat choices, so every weekend I end up with a Saturday and Sunday repetition. I could either:

  • Mark them complete (ignoring the fact that I’ve just claimed to have done nonexistent work);
  • Mark them complete and delete the “done” items before they disappear (solving the first issue)
  • Change the start/due dates in the Inspector (cumbersome)
AppleScript to the rescue.

My Defer script allows you to defer, or ’snooze’, selected projects or tasks by a given number of days. (Disclaimer for GTD pedants: my use of the word “defer” here is sanctioned by the New Oxford American Dictionary, not David Allen.)

Usage: Select the task(s) and/or project(s) you wish to defer. Invoke the script from the toolbar or script menu: OFDS_1

Enter the number of days to defer the items in the resulting dialog box and select “OK” (default is 1, so feel free to just hit Return to ’snooze for a day’). OFDS_2

The script will then prompt you whether to defer both start and end dates of the items. “Due [date] only” is the default option, so again, feel free to hit return to snooze your due date only. OFDS_3

Finally: a Growl notification to signify your success. (If desired, you can use a standard OS alert dialog or no alert at all. See the script for details.) OFDS_4 Download here: Defer.zip