Geektool is a program for the Mac that allows you to customize your desktop with far more than just a wallpaper change. With Geektool, you can display live, auto-updating information right on your desktop.
This information you can display ranges from small things like RAM used, CPU currently under load, and uptime since the last restart of the system to complex pieces of information like RSS feeds, twitter lists, and even graphical weather reports! All embedded right into your desktop and each refreshing at an interval you set.
For those of you familiar with using Terminal commands, that is all Geektool needs to work its magic. Any command you can enter into Terminal to return a bit of information can be used in Geektool. Even if you’ve never opened Terminal before, don’t worry. As long as you can copy/paste you can use Geektool.
Geektool does take a little getting used to, but once you do, the customization you can do to your desktop is almost limitless.
Getting Started
The first step is to install Geektool. Head over to the developers page and choose the version that is right for your OS. After the download is complete, unzip the file and drag Geektool into your Applications folder.
Next, double-click the application and click Open to any warnings that OSX gives you. Geektool will open in a small and simple window. You should see three icons under Geeklets. These are the three different kinds of desktop modifications everything else will be based around.
(Note: In earlier versions of Geektool, this is accessed in the System Preferences Pane)
A few housekeeping items to set up before moving forward are checking the launch at login box, the Show in menu bar box, and the Enable box. This will do what they say, and are all helpful to using Geektool long-term.
The most useful Geeklet type is Shell, so that is where we will begin.
So What Is A Geeklet?
Before going any farther, a Geeklet is simply any command added to Geektool, and we will be adding a variety of Geeklets in this post. Shell Geeklets (the ones we will be using in this post) get their information from running a Unix (shell) command and displaying the results on your desktop.
To activate your first Shell Geeklet, simply click and drag the Shell icon onto your desktop from the Geektool window. When you do this, you will see a shadowy-looking box appear and a tall Properties window. The shadow box is your Geeklet and the Properties window is where all the background magic happens. Here is a breakdown of the Properties window:
With that out of the way, here is the first Geeklet for you to try out.
Your First Geeklet
A simple, yet useful Geeklet is uptime. This will show you how long since your last system restart. To use it, simply drag a Shell Geeklet to your desktop and in the Properties window under the Command section, enter the word “uptime” without the quotes and set the refresh rate at 60. (The refresh rate counts in seconds, so 2 minutes would be 120, etc.)
The shadow box will now show your system uptime.
As you can see, the box above looks a little plain. With Geektool you can adjust font, color, size and other items. For now, We’ll adjust the color, font, and size the make this look a little better.
As you can see, it’s pretty easy to display information just as you want. With this Geeklet done, try creating this one just as you did above:
top -l 1 | awk '/PhysMem/ {print "RAM:\t\tUsed: " $8 " Free: " $10}'
This will show you the used and free RAM you currently have. If you don’t quite understand what the command above means, that’s OK. Unix commands can be tough to learn. You just need to know for now that it shows your RAM.
Once you get this working, set a refresh time of 60 seconds, and make it look a little nicer than it does now.
Useful Geeklets
Now that you know the basics of how to use Geektool, here are some useful commands that will give you all the information you could want about your computer. Just copy and paste them into the Command field in the Properties window.
Calendar
This one shows a calendar on your desktop with the current day marked off. Make sure to use a fixed-width font with this one or else the days won’t line up correctly. Refresh on this should be high, since it only changes once per day.
cal | sed "s/^/ /;s/$/ /;s/ $(date +%e) / $(date +%e | sed 's/./#/g') /"
Time and Date
These Geeklets will list the day, date, month, and time. Set refresh rates accordingly.
Month
date +%B
Time
date +"%I:%M"
AM/PM
date +"%p"
Date
date +%d
Day
date +%A
Hard Drive
This Geeklet shows the current capacity of your HDD and what percentage you have left.
df -hl | grep 'disk0s2' | awk '{print ""$4"/"$2" free ("$5" used)"}'
These just scratch the surface of what Geektool can do, but are a great place to start. With these basic Geeklets, you can make a really integrated-looking desktop. Check out the screen shot below of a desktop only using these Geeklets listed above and a fitting wallpaper.
(Click for a larger view)
Wrap-Up
As you can see, Geektool is more than just listing information on your desktop. Geektool is all about showcasing data in a beautiful way. You can keep it simple as in this post, or go extreme and write custom scripts that Geektool can access. This can show iTunes information, daily weather, and even changing images.
Go out and find some inspiration by search for “Geektool” in Google and see what you find. A personal favorite of mine is the Back to the Future Desktop.
3 thoughts on “How To Make Your OSX Desktop Awesome With Geektool”
Where can I download this background?
I found it on a free wallpaper site. You can grab it here.
Thank you!