Geektool enables items to be placed on the Mac desktop and refreshed at regular intervals. The approach I took was to use Geektool to regularly run a shell script and send its output to the desktop. There are two parts to this: the shell script and the awk script.
1 2 3 4 5 6 7 8 9 10 11 12 13
In the shell script above, I set the Toodledo password in OSX’s Keychain so it’s not embedded in the script. This requires a click on the ‘always allow’ option the first time you run the script, or you can relax the permissions on this element in the Keychain Manager. The first Curl line logs into Toodledo and stores the cookie, the second one uses the cookie to authenticate and the URL used is the one to export tasks as a csv.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
The Awk script, which is dependent on the parse_csv library, is then used to filter the tasks. As I wanted to display multiple sets of tasks in different groups, a
filter id is passed in from the shell script to the Awk one – this keeps it as DRY as my limited Bash and Awk skills allow!
The filters are as follows:
- anything starred in the Damon folder
- anything starred but not in the Damon folder
- anything in the Damon folder but not starred
- anything in the focus folder but not starred
The Toodledo columns in the csv file are ordered as below, and it’s easy to add additional items, filters, etc.:
It’s all reasonably straightforward stuff, but has removed the post-it note butterfly farm from my screen, and means that my critical item reminders are now ‘in my face’ across all my devices, not just when I’m sat at my desk.