Add an Embedded Calendar to Your Desktop

by Scott Chitwood • Friday December 31st, 2010
Posted in Snow Leopard UI Mods

I recently started using Spaces on my iMac at the day job to create a dedicated environment for accessing my Windows systems via Microsoft Remote Desktop.  The plus side of this arrangement allowed me retire an ancient, bulky monitor and keyboard from my workspace; less clutter makes Scott a Happy Boy™.  The trade-off was my embedded desktop calendar served up by Yahoo!® Widgets didn’t move from one space to another.  Not a huge bother in the overall scheme of things and perhaps not an insurmountable problem, but I went with the thought of trying some alternative ideas since that was the one and only widget I had in place.

Here’s a screenshot showcasing the results of my efforts: a combination of elements assembled from GeekTool 3.0, Nerdtool 0.8, and CalendarView 1.2.  While there are other methods of attaining a similar arrangement, these items, in tandem, provided the best features for my needs and sense of style.

desktop calendar 01

Let’s break this down by section by section…

Date and Time Stamp

Everything in this part is powered by GeekTool.  ‘Day’, ‘Date’, ‘Time’, ‘am/pm’, and the transparent background are individual code snippets arranged as a cohesive unit.  All, with the exception of the background, are terminal based commands set to refresh at regular intervals.  The font is Archer Bold, colors were borrowed from the iCal Dashboard Widget.

Calendar

This was, by far, the most challenging section to nail down.  I started with a GeekTool calendar but was discouraged with having to use a fixed width font.  Not very stylish and colorizing the various parts proved to be too much of a challenge for my abilities.

The next idea was to run the iCal Dashboard Widget on the desktop using a well known developer’s workflow and some making some alterations to its CSS code to make it fit my style of choice.

desktop calendar 02

One big problem with this method: the Widget hovers over the top of all other application windows, not really conducive for prolonged use.  There are however, third party apps, Amensty Singles and Amnesty Widget Browser, that can do the heavy lifting and display Widgets at the desktop level in exchange for a little of your folding money.  Both of the above are solid, high-quality apps and are definitely recommended if you have the need to run several Widgets on your desktop.

What next?  I almost gave up on this one and used the GeekTool method, but then I stumbled across Nerdtool — and found something attractive in its feature set: it can display web content.  Now it was just a matter of locating a configurable web based calendar that had the the right feature set for my needs.  CalendarView seemed like the perfect candidate for attaining my goal, so I set my skills to reworking the CSS and removing some of its dynamic functions from the Javascript file.  Once that was complete it was just a matter of serving the files locally, linking to the HTML file with Nerdtool, setting the refresh rate, and adjusting the window transparency to match that of the date/time stamp.

Calendar Events

The static title on this was more troublesome that expected but with a little toying around I found that linking to a plain text file from Nerdtool was the most effective method.  Just had to code in the typeface, font color, and font size after discovering that.  Tried the same thing in GeekTool but with every change to the font another instance of the text would display, a bit odd but that could be an undiscovered bug I ran into.

GeekTool was used for displaying my iCal events.  To get lists of events and tasks/to-do’s from the OS X calendar database (the same one iCal uses) you’ll need to download and install icalBuddy prior to setting up your geeklet.

Downloads

I’ve packaged up my geeklets, nerds, and other items for download — take ’em if you’d like ’em.



2 Comments

  1. Nick
         February 5, 2011

    First off I want to say I really appreciate your work here. I had a Geek Tool setup to do something similar but was never satisfied, so thanks for sharing the alternatives. Secondly, I am having trouble figuring out how to do the Monthly Calendar that you have shown, any chance you have the files that go along with this and a bit more detail about how to achieve this? Thanks again!

  2. Scott Chitwood
         February 7, 2011

    Hey Nick…  Here’s a link to all my current files as shown in new screenshot shown below, includes all modded calendar files as used on my set up.  It’s really just a matter of dropping them in your documents/other folder and then defining the path to the HTML within the Nerdtool dialog, see example below.

    file:///Users/YourUserName/DocumentFolderLocation/calendarview-1.2/examples/calendarview.html

    I don’t recall in detail everything I modded in those files but I am fairly certain that changes were made to the HTML and Javascript along with what I modded in the CSS.  Probably easy to find the changes if you download the original CalendarView files and compare them head-to-head.

    Shout back if you need more help.

    embedded calendar screenshot

Sorry, comments for this entry are closed at this time.


Size

Colors