GeekTool: Turn Your Mac’s Desktop Into An Information Center


Being a geek, you have the urge to modify everything you own. That’s of course applies to your desktop as well. You saw how your Linux friends can modify their desktop and display information with Conky and you are dying to have the same setting in Mac. If that is the case, then GeekTool is the one you are looking for.

GeekTool is a System Preferences module for Mac OS 10.5. It allows you to display information on your Mac desktop so you can quickly check out the time, your Twitter stream, or any other things without any hassle.

Let’s get our hands dirty, shall we?

To fully utilize GeekTool, you got to have a simple knowledge of shell command. But don’t worry, we will guide you through and make it easy for you.

Download GeekTool here and install it in your Mac.

You should now see the GeekTool entry in your System Preferences.


Adding day, date and time to the desktop

Open GeekTool and drag the shell icon to the desktop.


A blank holder and a configuration window will appear. The holder is where your information will appear. You can drag and move it to the position you desire. The configuration window is where you customize the shell command, font size, color etc.

In the configuration window, add the following command to the Command field.

date '+%H:%M.%S'


The above command will produce a clock that displays time in 24 hour format, minutes and seconds. It is important to note that for this script to be properly effective you have to update it every second, or every minute (naturally you just put 60 in the Refresh Every field) if you do not include the %S portion of the command.

After you have the clock on your desktop, drag another shell script onto the desktop and add the Month by using

date +%B

then drop another one on your desktop and add the command

date +%d

in order to put the number on the desktop. Once you have all these dropped on to the desktop you can start changing the fonts to whatever you desire, making them very personalized in the process.

There are some very interesting ideas of what to do with GeekTool within this flickr tag set.

Adding Twitter stream to your desktop

If you want a twitter stream on your desktop, then the command is

curl -s -u username:password | grep title | sed -e 's/<title>/ /' | sed -e 's/<\/title>/ /',

make certain to substitute your username and password in the appropriate space.

Adding calendar event to desktop

If you are keen to place your iCal event in your desktop, you might want to install the custom build of GeekTool by icalBuddy instead.

1. Download custom build of GeekTool. Install it in your system (replace the old GeekTool if required).

2. Launch GeekTool from System Preferences.

3. Click New from the left bottom pane. Select “Shell” from the right dropdown field.

4. Insert the command:

icalBuddy -sd -ic Work,Home -ec WeekNumbers eventsToday

to show all uncompleted tasks, separated by calendar.


You can also check out the icalBuddy manual page for more information on configuring your iCal events.

Adding Facebook feed to the desktop

This involves a series of steps that I won’t go into detail here. You can check out this flickr page for the full detail.

In a nutshell, you have to

1. Create an Automator action that grabs your Friend’s status feed. You can get this feed URL after you have logged into your Facebook account

2. Using the Automator to extract the text from the RSS feed and formats the text with the title, author, and date. Save the text in a txt file. Also save the Automator as a workflow.

3. In GeekTool, you got to insert two shells, one for the workflow and another to display the text file.
Create a new shell called “Workflow refresh” and paste in the code:

Automator Runner ~/filepath-to-the-workflow-file.workflow

Create another shell called “Facebook” and paste in the code:

head -n 300 ~/filepath-to-facebook-text-file.txt | grep '[a-zA-Z-0-9]'

Adding weather information to the desktop

The final item I’ll contribute now is putting weather on the desktop. This one is another shell script that runs in the command field. Make certain to change the city code to the one yahoo weather provides for your city,

curl --silent "" | grep -E '(Current Conditions:|C<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'

Now you can style the results according to the fonts and colors you want in order to make your desktop stand out as a beautified Information Center.

There are plenty of things that you can get GeekTool to display. What we have mentioned here is only few of the many tricks out there. What is your favorite GeekTool tricks? Share it with us in the comments.

Nathan Eckenrode

Nathan is a geek living in New York City. His first computer was a TRS 80 Color Computer and he's been hooked on technology ever since. He has recently finished an Interdisciplinary Degree at NYIT with focuses in Computer Science, Mathematics and Business. He has worked in Film & Television Production, on a dot-com company, as a Nuclear Reactor Operator, represented the Ubuntu User Community at the UN and once played guitar for a punk rock band. He keeps a blog dedicated to his creative urges at and really likes using his iPhone to pacify his kids.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox