Instead of actually doing things like “work,” I spent much of my day today cleaning up and tweaking my desktop to the above. It involves a lot of custom work, including some new GeekTools scripts, and a custom Bokeh wallpaper made in photoshop.
How’d you get that text on your desktop?
Many OSX users have found that they can use a great tool called GeekTools to customize their desktops by adding file contents, images, and command line outputs onto their desktop. It’s a very common tool, and there are plenty of setup guides out there.
Date Time
Date and Time display involves a bunch of individual GeekTool script panels each displaying a part of of the display.
| Text | Code |
|---|---|
| Day (number) | date +%e |
| Day of week | date +%A |
| Month | date +%B |
| Time | date +%l:%M |
| AM:PM | date +%p |
| Uptime | See this Gist |
| Weather Text | See this Gist |
| Weather Icon | See this Gist, create an image geeklet that points to the image. |
Feel free to browse the date documentation for formatting tips via man date.
Calendar
The list of future appointments I use involves a number of different scripts.
The core of the system relies on my use of Google Calendar which stores the entirety of my life. From there, I import my calendars into iCal using the built in Google Calendar import, which imports my primary calendar. In order to pull in my Facebook events, I also setup an iCal subscription to the events feed (click on See all Events in Facebook and click on “Export Events at the bottom for the iCal URL).
Granted, for simplicity, I could have used iCal URLS for both. I had already set up my system to use the built in Google WebDav emulation, and it allows me to pull in all calendars I have attached to Google Calendar. The issue lies in how I display the data. Due to the way iCal works, it does not make those Delegate calendars (calendars shared with me but now owned by me) available to the API, but iCal subscribed calendars to work.
Now that I have my calendars setup, I can use a great command line tool called icalBuddy. icalBuddy allows me to access iCal from the command line, and print out event data to the terminal. Like the date command above, I use this to print my calendar onto my screen with the following command line.
/usr/local/bin/icalBuddy -b "" -li 6 -npn -nc -iep
"title,datetime" -ps "| : |" -po "datetime,title"
-df "%RD" -eed -n eventsToday+5
Now this command is a bit daunting, but it is fairly simple to understand if you go though the documentation for icalBuddy. Basically, it’s formatted to have no bullet for each item, uses relative date terms, and only displays the title of the event.
Simply create another script geeklet and use the above command (after installing icalBuddy) to mimic my setup.
Where’d you find the wallpaper?
The wallpaper I use is actually something I made following this great guide on digital bokeh effects in Photoshop. Using the guide as a model, I created the my own version of it, and I’ll do a writeup of how I did it later this week. The guide, while useful, isn’t the clearest of things to follow, but it’ll get you started if you are interested in doing it yourself.
