My friend Vojto from http://www.infinite.sk/(check his portfolio, talented guy!) sent me his variation on my wallpaper, which displays to-dos from The Hit List. The Hit List is a really very nice alternative to Things. I used it before Things, but I was missing the iPhone version. I beleive they will be adding iPhone version sooner or later, though. It’s a must. But I just LOVE their icon. Maybe the most beautiful one on my MacBook.
Here is the screenshot of Vojto’s wallpaper “in action”. It’s for tiny displays: 1680×1050
Grab the underlying JPG wallpaper here.
Now the scripting. It’s going to be just a little bit more difficult than with Things, but nothing to be scared of.
If you need the introduction to GeekTool, please see the previous post.
1. You will need Apple Developer Tools and Ruby, which should both be included in your Mac OS installation.
2. You will need rb-appscript which you install by entering “sudo gem install rb-appscript” in terminal. This makes application scriptable using Ruby (alternatively Python or ObjC). If you don’t know what the hell does it mean, just don’t care and proceed
3. Now create file ~/.hitlist and put in the following code UPDATE: the new code checks if The Hit List is open, and if not, it will close it again after taking the to-dos from it.
#!/usr/bin/ruby
# Load up appscript
begin; require 'rubygems'; rescue LoadError; end
require 'appscript'
# Load Hit List and check if running
thl=Appscript.app('The Hit List')
begin
wasnt_running = true
thl.run
end unless thl.is_running?
# Get todos
puts thl.today_list.tasks.get.find_all { |t|
!t.completed.get
}.map{ |t|
t.title.get
}.join("\n")
thl.quit if wasnt_running
Save & close
4. In terminal, type “chmod +x ~/.hitlist” to allow reading from this file.
5. Open the geek tool and add new item as follows:
And you should be done! Enjoy!
Tags: appscript, dynamic, geektool, gtd, potion factory, ruby, scripting, the hit list, todo, wallpaper

Nice guide. I like the look of the desktop as well; very neat and tidy.
Where and how/what kind of file do you create?
@Jared The only file you create is the ~/.hitlist file which you can do in any text editor TextEdit, TextMate or TextWrangler. Does it answer your question?
@Goobi Thanks very much!
Hi
This looks great but, with no experience of terminal, I am struggling
At step (2), I get the following message in Terminal:
‘could not find rb-appscrip locally or in a repository’.
Does this mean I need to install Ruby manually? I’m using Leopard on a new Macbook.
Thank you!
@claire did you copy-paste the error message from terminal? If so, the problem might be a typo – it’s “rb-appscript”, you have “rb-appscrip”. If it doesn’t help, please check if Ruby is installed – type “ruby -v” in terminal which should return version installed; and if Gem is installed: “gem -v”. Both should be already installed in Leopard afaik. If it doesn’t help, please get back to me, will help.
Thanks for the script! A couple of questions:
1. I get the letter ‘n’ between two tasks rather than a new line. Any ideas? I copied and pasted the script as it’s presented here.
2. Any way to show all open tasks? This version of the script only shows tasks that have a start date populated in The Hit List.
Thanks again!
Well, I answered one of my questions by adding a ‘\’ character before the ‘n’ in the “join(”n”)” command.
If you are behind a firewall, you will need to do the following to specify your proxy server url (without the brackets!)
sudo gem install rb-appscript -p [proxy_server_url]
This is a great script.
How would I modify the script to order tasks by due date?
Thanks,
Darwin
Ok, I am lost at step 3. I created the file ~./hitlist in Text Edit (it put the rft extension on it). But when I run the command in terminal the following error occurs
chmod +x ~/.hitlist
chmod: /Users/mitchdimler/.hitlist: No such file or directory
Help
Just a tip, if you want a different list to get your tasks, just replace the “today_list” int the line “puts thl.today_list…” with the list you want like “thl.myprojects_list.” and if you want to display the Inbox list just replace with “thl.inbox.”
=)
Well, I don’t seem to get any results. I’ve created a list in Hit List, I’ve got the .hitlist file created and all seems to be correct (I copied and pasted to avoid typos) and I’ve added it to GeekTool. But I don’t get my list. Any ideas on possible problems?
Quick note, The status icon is red, so seems like I’ve got something odd going on.
@Mitch The .hitlist file must be without any extension. Remove the RTF extension and try again.
@Kathy which status icon you mean?
The status icon that is available through Geek Tool…I’ve noticed that if my scripting is correct I get a green light, but not on this one, so I’ve got something wrong…
@Kathy, could you make sure you have selected “shell” in the dropdown menu and that the ~/.hitlist file really exists, without any extension?
Yes, I’ve got shell and I’ve double-checked the permissions, etc on ~/.hitlist. Kind of weird.
@Kathy, please contact me on ICQ. Let’s see what I can do.
Hi,
Very nice desktop, elegant, clean… as soon as I will return home, I will try this.
Hi… me again.
I’m far from expert, so…
1) So, first I must have The Hit List application?
2) How and where (is it in terminal?) can I create file /hitlist?
3) All this codes in step 3., where they must be written (terminal?)?
Thanks for your help,
Matej
matej.faganel@me.com
@Matej
1) yes, you must have THL
2) the best option for you would probably be to create it in any text editor. don’t forget about the dot in the beginning of the file name!
3) open e.g. TextEdit.app, copy-paste the code into it and save the file as “.hitlist” into your home directory (mine is called josefrichter, yours would be different). That’s it.
I just tried your tutorial, but I seem to have the same problem as Kathy:
Step 1 – 4 went OK, but after I enter ~/.hitlit in GeekTools, the status icon becomes red and I get no output.
Did you manage to solve Kathy’s problem? If so, would you mind telling me the solution?
Hello Catherine. Sorry to hear you had problems. You have typo in “~/.hitlit” – but I guess it’s only in this comment, right? I will try to look at your problem later this week, ok?
Thanks for the tutorial.
I really love that background image. Is it available in 1920×1200 anywhere? without text?
Hi Josef – great script, and love the wallpaper – don’t quite have the massive resolution you have – how do you keep all the icons nicely arranged as you have? Did you just monkey around with the grid and size until it all worked?
Dan
@daniel thank you. if you right-click on desktop, select ’show view options’ -> ‘arrange by’ -> ’snap to grid’. that’s it
Cheers Josef…. need to go buy a cinema display to match your resolution methinks. In the meantime I doctored up the ladybird desktop picture with a blatant rip-off of your headings (in Helvetica, mind!) and made sure the grid matched up. All good.