Make Your Desktop Come Alive with GeekTool

This post is part of a series that revisits some of our readers’ favorite articles from the past that still contain awesome and relevant information that you might find useful. This post was originally published on April 19th, 2010.

GeekTool is a really neat preference panel that allows widget-like functionality on a highly customizable level.

Unfortunately, if you aren’t particularly geeky, this app can be a bit confusing to get up and running. Luckily enough, here at AppStorm there’s definitely no shortage of geeks such as myself to help you out! I’ll take you step by step through finding and installing scripts to make your desktop the envy of the office.

Final Result

Just to get a feel for where we’re going, here’s a preview of the final result.

Final Result

Final Result

As you can see, this is a simple setup that utilizes only two scripts: date and time. These scripts run live on top of your desktop, automatically stay behind any active apps, and are not selectable and therefore don’t get in the way. It really is just like having an active wallpaper image.

The text that you see is live and updates automatically based on intervals you set. Despite the odd setup, it really is fairly easy to get something up and running so don’t worry if you aren’t at all familiar with scripting. You don’t need to write a single line of code, as long as your copy and paste abilities are intact you’ll do just fine.

Before you start, it’s a good idea to setup a fairly solid desktop background so you can easily see what’s going on while you’re working.

Getting Started

The first thing you’ll want to do is grab GeekTool. It’s a free download and only takes a minute to install.

GeekTool Website

GeekTool Website

Once you’ve run through the installation, you might be tempted to turn to your applications folder but remember that this is a preference panel and not a standard application. Open up System Preferences and click on the GeekTool icon to bring up the following windows.

GeekTool Interface

GeekTool Interface

On the left side of the main window you should see three icons representing the three different options for “Geeklets” that you can implement: File, Image and Shell. This article will focus mostly on the shell option as it is both the most powerful and the most complicated to figure out on your own.


On the right side of the main window you’ll see the options for managing groups. These are extremely useful in that when you find a setup you like containing various Geeklets, you can save it out as a group, then experiment in a new group without losing your preferred setup. Alternatively, you could have a work group and a home group, a weather focused group and a social media group; you get the idea.

Checking and unchecking a group will allow you to activate it and checking the “Show in menu bar” option will make it easy to change groups on the fly.

Menu Bar Options

Menu Bar Options

Geeklet Settings

To create a new Geeklet, drag one of the three icons out onto the desktop; in this case, we’ll choose a script Geeklet.

After you release the icon on your desktop, an empty box should appear, and the Geeklet properties window should come alive with various options for customizing the Geeklet. There are five distinct sections in this window: General Settings (name, size, position), Groups, Command, Status Feedback, and Style.

Menu Bar Options

Geeklet Properties

The General Settings and Group sections are fairly straightforward, these allow you to assign a group to the Geeklet and give it a title. The Command section is where you will input the code for the Geeklet. This section also contains options for the refresh rate and timeout interval for the Geeklet. Finally, Status Feedback allows you to implement pictures notifying you of whether or not a Geeklet is working and the Style section is where you will format text.

How It All Works

The basic idea here for all non-script writers is that you go can online and look for cool GeekTool scripts. When you find one that you like, simply copy and paste it into the Command section of a Geeklet and the use the Style section to customize it to your liking. Many of the scripts are pretty simple and easy to figure out even if you have no coding background, others are more complicated and therefore harder to customize if there is something you want to change.

Basic Starter Scripts

Below is a list of fairly basic scripts that will allow you to create a simple time and date setup. To insert these into your Geeklet, just copy and paste the colored code snippets.

  • Long Day:
    date +%A

    (Result = Saturday)

  • Short Day:
    date +%a

    (Result = Sat)

  • Long Month:
    date +%B

    (Result = April)

  • Short Month:
    date +%b

    (Result = Apr)

  • Long Date:
    date +%D

    (Result = 4/17/10)

  • Short Date:
    date +%d

    (Result = 17)

  • Time:
    date +"%l:%M %p"

    (Result = 5:00pm)

  • Calendar:

    (Result = A basic calendar of the current month)

Combining Scripts

Keep in mind that each script that you find doesn’t have to stand on it’s own in a separate Geeklet. Combining scripts gives you a much wider range of options. Consider the following example:

Combining Scripts

Combining Scripts

As you can see, by combining the three of the available date scripts, we were able to make one complete date string.

Putting scripts into action

As stated above, to implement a script, drag out a Geeklet and paste the code into the Command section. For instance, we’ll start by pasting the code date +”%A %b %d” into the command window.

Date Script

Paste the Date Script into the Command Window

When I first downloaded GeekTool, I became quickly frustrated that I wasn’t seeing a result upon pasting in my code snippet. After giving up and coming back months later to give the app another shot I realized that I simply wasn’t seeing the result because the default text color is black and my desktop at the time was also black!

So the first thing we’ll want to do after pasting in the code is to change the color of the text to something that clearly stands out on your background. We’ll also change the size to make it nice and large.

To do this, click the button in the Style section that says “Click here to set font & color…” That should open up a basic font palette with options for size, color, shadow, etc. Set the everything to match the screen below (adjusting for your personal taste and wallpaper).

Font Size

Adjust the Font Size and Color

Now drag out a new script Geeklet and add the following time string: date +”%l:%M %p”. Line it up on the right side of the date and apply the font settings below:

Time Geeklet

Create a Smaller Time Geeklet

That’s basically all there is to it! If you really want to go nuts you can option-drag a Geeklet to duplicate it and play with increasing the size and reducing the opacity. This will give you similar results to the image at the beginning of this post.

Final Result

Final Result

File and Image Geeklets

If you want to use a File or Image Geeklet, the process is pretty much the same. Simply drag them out onto the desktop and customize the preferences. For both of these you’ll simply need to choose a local path to grab from.

For the Image Geeklet you can either choose a single image or an entire directory to scroll through. The File Geeklet comes in handy if you want to display a quote or something similar on your desktop. Just create a text file containing the word or phrase you want and link to it in the Geeklet properties. Then you can customize the appearance just as with the Script Geeklet.

Where to Find More Scripts

The single best source I’ve found for scripts is the Geeklets section of Mac OS X Tips, a handy blog that you should definitely add to your reading list.

Geeklets Site

Geeklets Site

The Geeklets site is packed with scripts for all kinds of purposes and continues to grow. Alternatively, you can check out the posts below for some more Geeklet goodness.


In this post we briefly discussed the functionality of GeekTool and how to get some basic scripts up and running. We also looked at a few great resources for finding tons more scripts to increase the functionality of your GeekTool setup.

After you get yours setup, be sure to upload a screenshot to Flickr (or any image sharing service) and share it by leaving a link in the comments below. Also,be sure to paste in any neat scripts you come across or write yourself!