Revision 74 of Event Calendar introduces a new UI feature:
LiveCalendarWidget
This is an AJAX-based counterpart to CalendarWidget that is event-aware and will mark dates that have events. Further, because it is AJAX based and not generated completely client side, it adheres to MVC, making it easy to extend and customize. To change the look and feel, simply create your own LiveCalendarWidget.ss in your mysite/templates directory, or simply create an extension to LiveCalendarWidget.css for simpler modifications.
This revision has also deploys some handy new functions through a new SiteTree decorator, making calendars easier to syndicate with much less coding.
On any page, you can now use:
<% control UpcomingEvents(count,calendar-url-segment) %>
<% control RecentEvents(count,calendar-url-segment) %>
$CalendarWidget(calendar-url-segment)
$LiveCalendarWidget(calendar-url-segment) %>
Note that if no url segment is given, the controller will assume there is only one Calendar in the site tree and get an instance of it. In other words, unless you have multiple calendars on your web site, you can use $CalendarWidget, <% control UpcomingEvents %>, etc.
Also note that "count" defaults to 5.
Lastly, a date string can be given to $CalendarWidget and $LiveCalendarWidget to override the default start date, for example:
$LiveCalendarWidget(calendar-url-segment,20090801)