A Guide to GeekTool
A while ago, on the IMP Live in New York show, my pick was a little Preference Pane called GeekTool which embeds content on your desktop. When thinking of why one should do this, an obvious reason comes to mind: observing. Whether it be CPU usage, iTunes status, or date and time, GeekTool is a great way to get an overview of different aspects of your system. But it’s also good for another thing: UI Customization.
For those of us who read LifeHacker, we’ll come across an occasion article about the Enigma Desktop, a collection of tools to provide a custom user interface that blends in with the user’s wallpaper. Sadly, the programs used to create this user interface are all Windows only applications. What is a Mac geek to do?
Enter GeekTool, a nice equivalent which can do much of what we want to get it to be like this. It won’t be able to do advanced stuff, like that clock that the Enigma Desktop has, but we can still do some cool things, like iTunes status, date and time, computer statistics and more. Installation of GeekTool is very easy. It’s a preference pane that you download and open, and it’s installed. Pretty much as easy as installing an application.
Once GeekTool has been installed, you can access it at any time in System Preferences. Getting it up and running with some commands can be a little bit of a hassle, if you don’t know what you’re doing or if you’re not Bart Busschots.
Simple applications of GeekTool include putting date and time on the desktop, monitoring CPU and memory usage, embedding a to-do list on the desktop, or putting iTunes status on the desktop. Basically, anything you can accomplish with a Terminal command, you can accomplish and output on your desktop with GeekTool.
To start, open up the GeekTool Preference Pane, and you’ll be presented with a somewhat disorienting user interface. To embed a command, you need to hit the “New Entry” button. Now you’re going to have a couple of options. First off, there is a dropdown menu that should have the value “File” when you create the entry. This will change the type of content that you’re going to be embedding. There’s “File,” which will spit out the contents of a file, “Shell,” which executes a Terminal command and spits out the content, or “Picture,” which will put an image on the desktop. We’ll stick with “Shell” for right now.
In the “Shell” section, we have a couple of tabs. The first is “Command.” This deals with what command is executed (which you put into “Command”), how often that command is executed (“Refresh,” in seconds), and whether the output is hidden and just the icon is shown.
The second is “Colors and Font.” This will let you customize the look of your output. You can customize everything: the background color, the text color, the font, whether there should be a shadow, and whether there’s an extra border. This can make the output fit in really well with your desktop wallpaper.
Next is “Text.” This changes the alignment of the text, as well as whether there should be a forced carriage return (basically a “new line,” you will want to generally leave that be), and whether the text has a drop shadow.
Last is “Icon.” This will show a little image next to your text that will be shown next to your command that can show whether your command was successful or not. You can align this image anywhere around the output of your command.
All right, now that we’ve got that out of the way, let’s do something basic. Let’s put the time on the desktop. Go ahead and create a new entry, and make it a shell command. For the command, put ‘date “+%I:%M %p”‘ without the single quotes (‘ ‘), but keeping the double quotes (” “). Now feel free to style it as you like in the “Text” tab by changing the color, font, and size. You can drag the transparent window, which is highlighted with your system highlight color, around the desktop and resize it.
That’s it. Really. You can now quit System Preferences and the time will stay on your desktop. You can even have windows covering up the text, use Exposé to get them out of the way, and the text stays there.
That’s it for this article on GeekTool. If you want to learn more, LifeHacker has several more articles on using GeekTool. I’ll also be writing another GeekTool article in the future about more advanced GeekTool uses. Until then, safe hacking.

