To be able to show tasks and events from iCal on the desktop, we need help from two freewares: the previously mentioned GeekTool and iCalBuddy.

In short, iCalBuddy is a command-line utility that can be used to query the OS X calendar database for items. Being a command-line based application, iCalBuddy is the perfect scripting solution to be used along with GeekTool.

The installation used to be something that ordinary people would try to avoid – involving working with command lines in the Terminal. But the latest version of iCalBuddy comes with an “install.command” file, which will make the process a snap. All you need to do is double-click it to start the installation in Terminal and then continue the process by pressing any key (or Ctrl + C to cancel).

Now that the installation is done, let’s add some to-dos and events to the desktop

After installing iCalBuddy, displaying iCal’s to-do and events on the desktop is a matter of adding new shell items from GeekTool. This means dragging out shell geeklets from GeekTool prefPane to the desktop and editing the items.

The most important part of the geeklet is the Command pane. This is the place where you write the command line to tell GeekTool what to do. This is the basic command line for iCalBuddy:

/usr/local/bin/icalBuddy *****

The “******” is where you put the customization strings. There are a whole lot of variations that you could use with iCalBuddy’s command line. There are some manuals that come with the installation file of iCalBuddy that you can refer to for further information. You could also access the program’s manual page by running “man icalBuddy” in the terminal to read the documentation for all of the arguments you can use when calling icalBuddy.

These strings are not mine. I picked them up from a discussion between iCalBuddy users and the creator. So, the credit goes to them. And as you can see, what the customization strings do are:

removing notes from the tasks (–excludeTaskProps “notes”)

removing the calendar name (-nc)

changing the * symbol in front of each item with — symbols (sed -e “s/*/–/”)

displaying events for one whole week (+7)

emphasizing the overdue tasks and events (sed -e “s/!/!!/)

You could do your own experiment adding and removing strings (or not).

Beautifying the look

Honestly, I spent so much more time experimenting on the look than on the function; dragging the position, changing the color, adjusting the size, that sort of thing. And here’s the final result (for now).

You could just let your creativity run loose and design your own. But in case you are wondering, I’m using Apple’s standard wallpaper, and Gill Sans – Regular and Thin – for the font. As for the layout, size and color, I think the screenshot has revealed them all.

While doing this article, I also found out several communities of GeekTool users who “show off” and share their desktop designs. If you’ve tried GeekTool and think that your design is cool enough, you could share them using the comments below.