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.
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
then drop another one on your desktop and add the command
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 http://twitter.com/statuses/friends_timeline.rss | 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
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 "http://weather.yahooapis.com/forecastrss?p=YOURCITYCODE&u=c" | 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.