Filed under: Web2.0
I hate running a dedicated Twitter client, and since I don’t display my status bar in Firefox, (I want screen real estate, not status!) there aren’t really any good quick look plugins that work for me either.
GeekTool solves this by combining a lot of ambient-style updates into a single low-memory footprint that nestles nicely into my desktop background.
Many people on Twitter have been asking me to post how I did my GeekTool Twitter update – so here we go.
Keep in mind, this is a quick hack using cURL, SED and AWK, and I’m assuming you know some basic commandline skills. So your mileage may vary. But it has proven pretty reliable for me.
The basic flow is the following
- - Use a script to pull the latest Twitter update and extract the entries
- - Stick the parsed entries in a text file as a buffer. If the network is unavailable on a given update, GeekTool displays the text file and not the latest result, so your pretty ambient Twitter display doesn’t go black all of a sudden
- - Tell GeekTool to continuously display the buffer text file
First, grab this script save it to disk (somewhere under your home dir like ~/bin would be good).
Edit the script with your favorite text exitor. You’ll notice the <username> and <password> in there. Substitute the credentials for the account you want to monitor. Also notice that the script uses two temporary files in your home directory. You can change those if you want.
Now open Terminal and make the file executable (chmod a+x <filename>)
Finally, open the GeekTool preference pane and create a new group for your Twitter updates. Format it how you want, and enter the command as depicted in the image below.

Note that the path there (~rlabarca/bin/twitter.sh) is where I have my twitter.sh script. Change that to where you saved the script.
You should now be seeing twitter updates. If you’re having trouble, try running the script on the commandline to see any errors generated. Also take a peek in the temp files to see the output.
Update: Fixed the parsing issue. Also there was an extra space in the script I posted, breaking sed. That’s fixed. Thanks Ross!
Happy Twittering!