Apps Mac Tips

How To Customize Your Desktop with GeekTool

GeekTool is an application that allows you to not only customize your desktop in Mac OS X, but also display any Terminal output right on your desktop. While the software was initially designed to display and monitor shell script output, it has been increasingly used for desktop customizations. Join us as we take you through the ins-and-outs of using GeekTool and show you some great desktop customization techniques.

What you will need:

>> GeekTool 3.0
>> A little patience

1. Getting Started with GeekTool

After installing GeekTool, navigate to System Preferences > GeekTool.

To begin, check the Enable checkbox. This will start up the necessary GeekTool components. You can optionally check the boxes for “Show in menu bar” or “Automatically check updates.”

The interface is split into two areas: Groups and Geeklets. Groups allow you to create sections on your desktop that contain Geeklets. Dragging a Geeklet to the desktop will add it to the currently selected group. Groups can then be turned on or off by checking or un-checking them. You can also delete a group by selecting it and clicking on the “X” button that appears to the right-hand side of the groups listing.

In the Geeklets section, you will notice three items: File, Image, and Shell. These correspond to the items that GeekTool can show on the desktop by default. The definition for each of these items is as follows:

File – GeekTool can show a file’s contents in real-time on the desktop. When the contents of the file changes, the desktop display will also change to reflect the file additions. You can also display log files from your computer using this Geeklet.

Image – You can use this Geeklet to grab a picture off the internet via a URL, or a picture on your computer and show it in real-time with an optional refresh setting. This can be used in conjunction with web cams to see a live picture right on your desktop.

Shell – Use this Geeklet in GeekTool to grab and display textual output from any Unix (shell) command. You will be able to tweak the text attributes and refresh rate, as well.

When you drag one of the Geeklets to your desktop, you will see a grayish frame that you can drag around and position in the location of your choosing on your desktop. This frame represents where the output of the file, image, or shell will be displayed.

The Properties heads-up display provides you with various options for configuring the Geeklet, including the position on the screen (which you can also adjust by dragging and dropping the Geeklet to a new position), the font properties, name, commands, and refresh settings. In the examples below, we will be using the Geeklet properties in more detail.

2. Display Date and Time

One of the more simple things that you can do with GeekTool is to display the date and time with a Unix output command. So, we’ll start with that and work up to the more advanced uses for GeekTool.
To begin, open GeekTool and drag a Shell Geeklet onto your desktop. Next, in the Properties window, click the ellipses next to the Command text box. This will open the command window for you to type the following command:

date '+%I: %M %p'
date '+%A, %B %d'

Next, close the Edit Script window, you’ll be prompted to save the script, click Yes and return to the properties window. Change the refresh rate to every 10 seconds, adjust the text properties under the Style heading in the Properties window to your liking.

3. Display a Calendar

Display a calendar, like displaying the date and time, is an easy thing to accomplish with built-in Unix functions. Drag and drop another Shell Geeklet on to your desktop, typing in the following command in the “Command” field:

cal 

Yes, that’s really all you have to do in order to get a full monthly calendar on your desktop. Set the refresh rate to 300 seconds as this isn’t something that will change often. You may want to edit the text size and properties. Due to the formatting of the calendar, you may have mixed results with fonts other than Courier or Courier New.