Quantcast

Special Sponsored Section


The video player requires Flash 8 Player or later. Please download the latest Flash Player.


Maclife Hottest Articles
Thumbnail
FEATURE
100 Snow Leopard Tips, Tricks, and Features
Browser
FEATURE
OS X Browser Speed Wars: May the Fastest App Win
iTunes History
FEATURE
The Complete iTunes History -- SoundJam MP to iTunes 9
iTunes Tips
FEATURE
iTunes 9 Tips and Tricks - Solve the Mysteries of the New iTunes
Customize Your Desktop with GeekTool
Posted 05/18/2009 at 11:53:09am | by David W. Martin

Let's face it the Finder desktop that ships on Macs just isn't all that exciting and there is a lot of wasted real estate on a Mac desktop. So what can you do with all that space? Fortunately you can do a lot and this how-to will show you how.

After you've added all the information you can handle to your desktop, why stop there? By replacing your icons, changing your fonts and desktop background, you can take your desktop from zero to hero.

 

Difficulty level:
Medium

What you need:
> OS X 10.4 or later
> GeekTool 2.1.2
> A spectacular desktop image
> 30 minutes to spare

Optional Items:
> Yahoo Widget Application
> widescapeWeather
> Magifique
> RSS Feed Script

Optional Icon Packs:
> iCal
> Folders
> Hard Drives

 

GeekTool 101

geektool
Empty GeekTool

After installing GeekToolt, launch System Preferences and locate GeekTool under the Other category clicking it once with the mouse to activate it. You'll see a screen similar to the one above. Groups should be empty.

Before we configure GeekTool for your own custom desktop, we need to take a look at File, Shell (Command) and Picture from the drop down near the top of the GeekTool window since these are the three ways it will display information on your desktop.

shell

File - Choose one or more files that you want to have shown in real time on your screen. You can even choose where you wish to position them on your screen. If the file contents change so should what you see on your desktop. Logs are great files for the File entry.

Shell (Command) - you can specify Unix (or shell) commands, and the output will be available anywhere, and in order for it to update you will also have to input a refresh time.

Pictures - Grab any picture on the internet via its URL and assign a frame type, transparency and so on to display the picture on your desktop in real time with an optional refresh setting. Great for web cams.

 

Creating an Entry

entry
Click the New Entry button. Boom, you're making magic. Desktop magic.

Creating an entry, no matter what type, is a straight forward affair. Click the New Entry button (Duh), select if the Entry will be a Picture, File or Shell, and input the Shell command, or navigate to the desired file. Picture and File are straight forward. Shell on the other hand, involves actually knowing the shell commands. Lucky for you, we have a list of commands below. 

Now that you have your Entry in GeekTool, let's get it where it needs to be on the desktop and adjust its appearance.

 

Displaying Your Entries on the Desktop

 

shell

GeekTool allows a certain degree of display customization for entries. It's because of this customization that GeekTool has been embraced by users. The font, color, alignment and drop shadow are adjustable under the File and Shell entries.

 

pic

In addition, under the Picture setting you can add frame to that photo of NKOTB.

 

spacial
Adjust the areas in which your entry rests on the desktop via mouse or adjusting the X and Y coordinates.

All elements added in GeekTool are arranged spatially via the X and Y axis of your display. This coordinates can be entered manually, or you can click on an entry in GeekTool and the item on the desktop will have a bluish box you can re-size and move. 

Any of the Entries can be set to display as "Always on top" so that it appears above app and finder windows. 

 

Shell Commands

Here are some suggested Shell commands that you might try to use on your own customized Mac desktop. Experiment with each one or add your own! We highly recommend cutting and pasting the following Shell examples into GeekTool to prevent typos. Be careful not to introduce any carriage returns or extra lines. All these Shell commands should paste as single lines. If they do not then you need to try re-pasting it or entering it manually.

Top Processes Display

top -ocpu -FR -l2 -n20 | grep '^....[1234567890] ' | grep -v ' 0.0% ..:' | cut -c 1-24,33-42,64-77

Setup Time Display

date "+%l:%m %p"
   
Setup Date Number display

date +%d
   
Setup Month Display

date +%B
   
Setup Weekday Display

date +%A
       
Setup Calendar Display

cal

Setup Uptime Display

uptime | awk '{print "" $3 " " $4 " " $5 }' | sed -e 's/.$//g';

Setup RAM Display

top -l 1 | awk '/PhysMem/ {print "" $8 " "}' ;

Setup CPU Display

top -l 2 | awk '/CPU usage/ && NR > 5 {print $12, $13}'

Setup RSS News Feeds Display

This one is a bit harder and requires some knowledge of Unix Shell Scripting - contact your local guru for assistance if you get stuck.

1. You'll probably want to change the default RSS feed in the news.sh file you can download here. Right now it's set for Yahoo Hot News from Canada. Find a feed you want and copy the link, DO NOT CLICK ON THE LINK. It will take you to the feed. That URL will not work. You want your feed to begin with http:// for the shell script. 

Good: http://images.apple.com/main/rss/hotnews/hotnews.rss

Bad:  feed://images.apple.com/main/rss/hotnews/hotnews.rss

Replace

URL="http://ca.rss.news.yahoo.com/rss/topstories"

With

URL="http://images.apple.com/main/rss/hotnews/hotnews.rss"

Unless of course you're down with Yahoo Canada's Hot News. 


2. Now place the downloaded copy of news.sh that you downloaded from Google in a location of your choice (i.e. your Documents folder). Make a note of the complete file path to news.sh.

3. Click New Entry in GeekTool and change its name to "News RSS"

4. Using the drop down directly to the right of Groups select Shell

5. Enter the following for the Command:

sh [location/]news.sh -[number]

[location] is the path that you were told to document in Step 1
[number] is the number of entries you want to appear for this use 4

Example:  sh /Users/loaner/Documents/news.sh -10

6. Make sure that "Always on top" is not checked
   

7. Using the mouse or keyboard position your RSS Feed where you want it on your screen

 

File Commands

files

Setup To Do List

You can use files to display text files statically on the screen as read only. One example is to create a To Do list.

1. Create a text file with TextEdit and call it Todolist save it in your documents folder or other location of your choice (not the desktop).

2. Enter some items even just examples of things to do in the file.

3. Click Format>Make Plain Text and save the file with the example To Do list.

4. Go back to GeekTool preferences pane.

5. Click New Entry and change its name to "To Do List"

6. Using the drop down directly to the right of Groups select File

7. Using Choose... select the file you created to set the file path in GeekTool.

8. Make sure that "Always on top" is not checked

9. Using the mouse or keyboard position your To Do List where you want it on your screen

 

Setup Various Object Labels Using Files

One use of files is to display labels for the items you place around the screen. We'll use some of the labels below to label the Shell examples above. 

1. Create a text file with TextEdit and call it uptimetext.txt save it in your documents folder or other location of your choice (not the desktop).

2. Enter the text UPTIME in the file.

3. Click Format>Make Plain Text and save the file

4. Go back to GeekTool preferences pane.

5. Click New Entry and change its name to "Uptime Text"

6. Using the drop down directly to the right of Groups select File

7. Using Choose... select the file you created to set the file path in GeekTool.

8. Make sure that Always on top is not checked

9. Using the mouse or keyboard arrange these to label the appropriate objects on your screen displayed by GeekTool

Repeat these steps above for the following:

 FilenameText
New Entry Name 
 ramtext.txt RAM
 RAM Text
 cputext.txt 
 CPU
 CPU Text
 topproc.txt Top Processes TopProcessText

 

pic
Picture Commands

These can be used to display static pictures from the internet, but when used to display an updating web cam they will update as the camera updates the feed. Pretty neat. Try your own web cam like this one at ThinkGeek.com:

http://www.thinkgeek.com/images/cams/codemonkeys.jpg

Conclusion

The end result of my customization is shown below. Although I did not change everything the new desktop does suit my current needs. The level of customization is amazing and we would like to see what you come up with so please post a link to a photo of your personalized desktop in the comments.

Customized Mac Desktop
Click to Embiggen

 

COMMENTS: 22
TAGS:  geektool
COMMENTS
avatarAhh

very nice tool... btw "Embiggen" is a perfectly cromulent word.

Login or register to post comments
avatarBattery shell script?

...and the Windows elite think you can't tweak and customize OS X. *rolleyes*

This is a great piece of software with a lot of possibilities. So far I've gotten the top processes, CPU & RAM setup on my MacBook, but I was wondering if anyone knows if there is a command-line command for battery charge read in percentages. I'm aware of the ioreg capacity command, but was hoping for something a little more to the point and with less information (I don't exactly have the most screen realestate for that and it gets a little hokey looking when you force the breaks on it).

Thanks!

Login or register to post comments
avatarAmazing?

Wow! With just a few hours of work, you can have a set up just like a Windows machine! You know... the reason I switched to a Mac.

Seriously, though... why would you want all of this crap on the desktop? Why did Apple spend all that time ripping off Konfabulator if we were just going to do this instead? Widgets FTW.

Login or register to post comments
avatarOS X Leopard 10.5.7 support

Does GeekTool work with Leopard 10.5.7 or is it still only supported on Panther and Tiger?

Login or register to post comments
avatarThings and The Hit List to-dos on desktop

You can also add to-dos from Things.app and TheHitList.app to your desktop through GeekTool! Check my tutororials over here: http://www.josefrichter.com/blog/one-more-wallpaper-with-the-hit-list-to-dos/ and http://www.josefrichter.com/blog/dynamic-gtd-wallpaper-with-things-to-dos/

Both tutorials packed with minimailst getting-things-done wallpapers.

Enjoy

Login or register to post comments
avatarWallpaper

I really like that wallpaper you use, where can I get it?

Login or register to post comments
avatarThat's a wallpaper by one

That's a wallpaper by one Bide Cui and is available for download at DeviantArt in his gallery: http://petercui.deviantart.com/art/Travel-Sky-63897516

Login or register to post comments
avatarThanks so much!

Thanks so much!

Login or register to post comments
avatarReplace Desktop Icons with a FIle List

Does anyone know how to remove the desktop icons and replace it with a file list that can be used to acces the files?

Login or register to post comments
avatarWallpaper

Yeah! where can I find that wallpaper

Login or register to post comments
avatarClock challenge

The hour refreshes but the minutes do not. Any solve?

Login or register to post comments
avatarTime Correction

 For the Minutes to update correctly you need to have the M uppercase "not lowercase".  Just go into the terminal and type "man date" and it will give you all the options. Try    date "+%H:%M %p"

Login or register to post comments
avatar@oenoke

I had the same problem I did some digging and ended up changing the command to
date "+%l:%M %p"
and it works now for me.

Login or register to post comments
avatarwidgets

How do you get the Yahoo widget or weather on the desktop through geektool? I tried to add a file and point it to the widgets folder but that doesn't do it. I'm missing something and we need to either send it to a URL or another way? Thanks for any help!

Login or register to post comments
avatarwidgets

How do you get the Yahoo widget or weather on the desktop through geektool? I tried to add a file and point it to the widgets folder but that doesn't do it. I'm missing something and we need to either send it to a URL or another way? Thanks for any help!

Login or register to post comments
avatarCalender

I cannot get the Calender to line up right, it would say that the 5th is a monday and its not straight...help?

Login or register to post comments
avatarCalendar correction

I had the same problem but once I changed the font to Monaco then everything lined up. In the "style" section of the properties window click on "click here to set font and color..." I'm assuming that any font that has old-school uniform sizes for the characters and spaces will work.

Login or register to post comments
avatarProblem with News Feed display

I very carefully set up a news feed display as directed in the article, but the news feed is not displaying. Any ideas what I should look for?

Login or register to post comments
avatarI thought this was a Mac Tool!?!

I have been working with Macs since 1984, and one of the things I always liked was the sensibility of so many things, one of which was the ability to name files the way I wanted.  This does not seem to be the case here.I change my command from:sh /Users/silkcityflorida/Documents/Geek Tool Components/Apple Hot News RSS Feed.sh -4tosh /Users/silkcityflorida/Documents/GeekToolComponents/AppleHotNewsRSSFeed.sh -4and all of a sudden it is displaying properly.Is there some programming convention in shell scripting that will allow me to name my files the way I want or must I now, after so long, succumb to naming them the way they do it in (ugh) Windows? 

Login or register to post comments
avatarUpdates with respect to Snow Leopard?

I just upgraded to Snow Leopard this morning.
Geek Tool runs without an issue (so far).
Of note, however: the "TOP" command, as shown in the above article does not work.
I pasted this into a Terminal window and netted "invalid option or syntax: -FR" amongst other things..
Does anyone have an updated recommendation?

Login or register to post comments
avatarWhat format do you use for time with AM & PM?

On your desktop it shows 5:01PM, but nowhere do you show the command for that time format. I've looked around and can't find it. Also, what font are you using it looks great.

Login or register to post comments
avataromega watches

Were not smart, but also learn from others bald.omega watchesChing had no water to fish, one to the cheap is invincible.replica watchI left Dragon, White Tiger right shoulder tattooed Mickey Mouse.replica watchesEfforts should be made! ! For your Audi Dior me.8282aaa

Login or register to post comments