Fed up of a plain boring desktop? Well I was too. Then while I was browsing various Mac forums, I stumbled upon a thread about Geektool and Geektool Scripts. Geektool is basically a ‘.prefpane’ which is added to your System Preferences which then allows you to set up widget’s on your desktop. These widgets include: shell scripts, images or local files. Below are some of the shell scripts that I use with Geektool.

To display my computer information (computer name, os details, ram and processor) I use the code:

scutil --get ComputerName;
sw_vers | awk -F':\t' '{print $2}' | paste -d ' ' - - - ;
sysctl -n hw.memsize | awk '{print $0/1073741824"gb RAM"}';
sysctl -n machdep.cpu.brand_string;


For the numerical value of the day:

date +%d

For the name of the month:

date +%B

For the time (hours:minutes):

date +%H:%M

For the day of the week:

date +%A

For the harddrive information (just replace disk0s2 with the drive number and partition you want to show and replace SSD with the drives name) for my laptop I used the following code:

df -h | grep disk0s2 | awk '{print "SSD: " $4 " free " "("$2")"}' | sed s/Gi/GB/g


You can show your external IP address with the following commands:

echo External IP: `curl -s http://checkip.dyndns.org/ | sed 's/[a-zA-Z<>/ :]//g'`

Also with icalBuddy you can have it display uncompleted tasks, upcoming events and much more on your desktop all form your iCal calendar. The script below is for tasks that need to be done:

/usr/local/bin/icalBuddy uncompletedTasks

This script is for upcoming events in your calendar in the next 31 days:

/usr/local/bin/icalBuddy eventsToday+31

To get any text label just create a script and insert the text you want between the speech marks.

echo " "

If you need any help feel free to contact me here.