I have a ton of other things that I should be doing, but I couldn’t help but share my new creation: Repeating Tasks for Daylite.
While it seems like the guys at Marketcircle thought of everything in Daylite, I always missed the ability to have repeating tasks. Lots of people have requested it, and Marketcircle has stated that the feature is under consideration, but until it is actually developed, here is a (fairly ) easy solution. In fact, here are two different ways to have repeat tasks in Daylite, one using the venerable Keyboard Maestro, and the other using iCal (or Calendar as Mountain Lion calls it).
Using Keyboard Maestro
This is my preferred method, as it lends itself to simple inputs, changes, and duplication. It is also a great example of the power of Keyboard Maestro to simplify everyday tasks (no pun intended). If you don’t own Keyboard Maestro yet, go buy it for 20% off with this link.
In this method, Keyboard Maestro is used mainly to handle the scheduling and store the task names, category, and priority. The rest is handled by an Applescript that creates the tasks and sets the parameters, including the due date (current date).
For my daily tasks, I have the macro run every weekday morning at 5:30am. The macro checks if Daylite is running, and if not, will launch Daylite, wait until it has loaded, and then run Applescript as needed. Some adjustment of the wait time might be necessary, depending on your Daylite server speed and internet connection.
Click on the screenshot on the right to see what the Macro looks like. Below are the downloads:
- Applescript for Keyboard Maestro;
- Keyboard Maestro Macro (requires inputs and you pointing the Macro to the Applescript).
Using iCal/Calendar
For those that don’t own Keyboard Maestro (I can’t recommend it enough if you’re looking to automate things on your Mac), I also created a version of the Applescript that can be edited manually and scheduled using iCal/Calendar.
With this method, you edit the Applescript with your task names, category, and priority, and save the script. Then, create a repeating event in iCal with an alert. One of the alert options for a calendar event is “Run Script”, so point it to the applescript, set the alert time, and you’re set. For an example, click on the screenshot on the right.
Download the applescript for iCal/Calendar v0.2
It should be noted that the iCal/Calendar method has several disadvantages of various degrees. First, the applescript requires Daylite to be running when the script is launched by iCal i.e. it does not currently check if Daylite is running. This should be relatively easy to do with Applescript or a shell script, but I’ll leave it to better people to write that code. This also The script clutters your calendar, which, for me is added noise and therefore a deal breaker. There’s little error checking in either method, but that’ll be left to someone else.
Update 04.07.2012: Don Morris in the Marketcircle forums contributed the 2 lines needed to make the script independent of whether Daylite is running. It will now launch Daylite if it is not running. Thanks Don!
Acknowledgements
These scripts and workflows are based on the excellent work of the following people:
- Casper Lassen. Refer to this Marketcircle forum post and (I think) his website
- Alex Bratton at Lextech,this Marketcircle forum post, and @alexbratton