‘Geeking’ out with GeekTool

There are many different things that you can do with a Mac OS X desktop. For example, you could use your screensaver to run in the background, a picture of your pet, or something pretty amazing for us geeks called GeekTool.

– I am using GeekTool 3.0 RC5. GeekTool is a PrefPane (Runs in System Preferences) and allows three types of outputs to be embedded in your desktop. There are three options, but you can have an unlimited (Or until you do not have an adequate amount of memory). These GeekTool items called ‘Glets’. The three different type of ‘Glets’ you can have are: File, which allows you to display a file, Shell, which allows you to display the uptime or run a ping command, and the final option is called Image, that allows you to display an image in the background.

In my GeekTool setup, I found a background online that only had one bar. I photoshoped the second bar to the other side. Basically the way my setup works is one the left hand side is my miscellaneous items. For instance, my mail is displayed on the left side as well as the to-do items I need to complete, that is taken from the Things (An awesome application by Cultured Code). I am able to pull the data from two simple AppleScripts, one for my mail and one for Things. On the right hand side, I have my system items. I am able to have my network IP’s external and internal. Also in the system side, I am able to see the amount of memory in use, CPU processes, as well as the uptime. In addition, I am also able to display the current song playing in my iTunes Library. I was having difficulty using a shell script to output my iTunes song, and when it was able to it did not have the best interface. So, I decided to go with Bowtie and found a theme that I liked. The theme that I am using is called Zukunft Condensed Black, because it matches my font. The font that I am using is called Helvetica Neue. Below you will be able to find the shell scripts that I use for my GeekTool setup.

When your done, you will be impressed. Dazzle your friends.

GeekTool Shell Scripts:

Time: date +”%I:%M %p” – If you do not want the percent remove the %p

Week Day and Today’s Date(In number format): date +”%A %d”

Month: date +”%B”

Calender (all as 1 line):

cal | awk -v cday=`date “+%d”` ‘{ fill=(int(cday)>9?””:” “); \

a=$0; sub(” “fill int(cday)” “,”[“fill int(cday)”]”,a); print a }’

External IP:

echo External IP: `curl -s http://checkip.dyndns.org/ | sed ‘s/[a-zA-Z<>/ :]//g’`

Internal IP:

See download links

Physical Memory Usage:

top -l 1 | awk ‘/PhysMem/ {print “Used: ” $8 ” Free: ” $10}’

CPU Processes:

ps -arcwwwxo “command %cpu %mem” | grep -v grep | head -13


/Users/Nick/Documents/Glet/weather 12345 – Replace the Path/Users/Nick/… with where the weather file is located. Also change 12345 with the your zip-code

For the Mail and Things AppleScript follow these directions:

osascript /Users/Nick/Documents/Glet/todo.scpt – This calls the AppleScript todo.scpt – So, where ever the script is, in GeekTool, point to the file. But you need osascript in order to execute the AppleScript!

Files to download:

GeekTool Scripts

Background Download (Will open in a new window, right click to download)

If you have any questions or comments, feel free to comment!


  1. Use the GeekTool script provided in the downloads. Once adjusted properly to your area, the weather icons should automatically come in.