Geektool, v2

I was just looking through the analytics and stats for my blog, and realized that almost 1 year later, my Geektool post is generating the most traffic to my site. Given that I recently got a new computer and began using some new geeklets, I figured an update was in order. I’ll try my best to follow the same format that I used last time – for geeklets that remain unchanged from my old computer to my new one, I will not be reposting the code; please head over to the original post for those geeklets.

And, without any further ado, my current GeekTool setup:

Click to Enlarge

For the most part, it’s almost identical to what I was using on my last MBP. The major changes are (1) ToDo.txt, (2) GCal, and (3) iTunes. I know that I had iTunes embedded on my desktop in the last post, but with Lion now out, the program I was using did not behave the way I was hoping it would. I’ve since switched to a completely GeekTool related way of handling iTunes information. As was the case last time, some of these scripts are not my own – I’ve tried my best to give credit where I can, but if there are any problems, please leave a comment.


Header: echo "ToDo's"
ToDo.txt (Local Copy Only): /path/to/
ToDo.txt (Web Synchronized): /path/to/unison todo.prf -silent -auto -batch; sed -i.bak 's/\\//g' /path/to/todo.txt; /path/to/

I’ve written about ToDo.txt before, and included some screenshots of how I was embedding it on the desktop. If you only use ToDo.txt on one computer, embedding it on the desktop is as simple as executing the shell script, as shown in the second line above. If you want to synchronize your todo list between your computer and a remote server, you’ll need a copy of unison installed on both systems. In the last line of code above, the first statement synchronizes the text files between both systems, the second statement handles some formatting to ensure everything displays properly, and the last statement prints it out on the desktop. For those who are interested in the web interface, I will try my best to do a write up on it once I’m back at school and settle in.


Header: echo "Calendar"
Calendar Script: Download and change the extension to ‘.pl’
Calendar Script Execution: perl ~/Desktop/Perl/

There really isnt much to say about the Calendar script – it pulls upcoming events from your Google Calendar and allows you to display them on your desktop. If you want to read more about how the script handles it, head over the author’s post for all the details.


Click to Enlarge

Unfortunately, CoverStream stopped working properly after I switched to Lion due to the change from Spaces to Mission Control. Whereas the rest of my geeklets appear to be fixed to the desktop when I move between work spaces, CoverStream looked like an application moving from space to space. I began the hunt for an alternative, and although I’ve lost the album artwork, am very happy with the end result.

iTunes Script: Download and change the extension to ‘.scpt’
iTunes Script Execution: osascript /path/to/iTunesInfo.scpt

As with the Calendar, a simple script is used to display the album information. The only real drawback from CoverStream is that, due to the refresh rate in GeekTool, this geeklet doesn’t operate in real time. That is, if you change a song, it might take a few seconds for your desktop to update with the new information. Check out the original author’s post for some more information on how the script works.

I know there aren’t as many geeklets as last time, but with all of them combined, my desktop has become much more functional. The ability to see my calendar and todo’s without having to open any additional programs is a huge time saver. As always, any questions, please don’t hesitate to post a comment below.

This entry was written by Marc Budofsky , posted on Saturday January 21 2012at 12:01 pm , filed under GeekTool, OS X, Software . Bookmark the permalink . Post a comment below or leave a trackback: Trackback URL.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>