PHP iCalendar on Active Desktop
After seeing the LiquidBlaze Desktop featured on LifeHacker, I was intrigued. I had been looking for a good way to have my wife’s calendar visible for me at work. As if reading my mind, LifeHacker had another featured desktop using Active Desktop. This was was by awhite and shows a calendar downloaded from the web. Unfortunately, I didn’t already use Yahoo! Calendar and I really wasn’t keen on making my calendar public. Besides, my wife already uses iCal on her iMac and I had it set up to synchronize via WebDAV to my web host. I had already been able to get PHP iCalendar (site seems to be down sometimes) to show her uploaded calendars. Thus I figured I should try to combine awhite’s idea with PHP iCalendar. The web host can have password protected directories so the whole world wouldn’t be aware of our appointments. ![]()
I find the monthly view to be most useful for me, especially because it shows details of the events at the bottom of the page while keeping the month view pretty clean. However there are a lot of unneeded controls that waste space. I created a new PHP iCalendar template and a top-level script to use the new template. PHP iCalendar template files are in ${CALENDAR_ROOT}/templates/default and have the extension ‘tpl’. I based mine off of month_desktop.tpl by trimming out some of the unneeded sections.
To install this, download both files linked below. Copy the month_desktop.tpl into the template directory listed above. Copy the desktop_calendar.phps file into ${CALENDAR_ROOT} and rename to desktop_calendar.php so it will be interpreted. You should test it by going to the normal calendar path, but use desktop_calendar.php instead of the default URL (as in http://machine/calendar/desktop_calendar.php).
To add it to the desktop, go to the Display Properties (either from the Control Panel or by right-clicking on the desktop). Next click on ‘Customize Desktop’ and hit the ‘Web’ tab (on Windows XP). Add a new web page by using the URL to your desktop_calendar.php file.
I resized mine so that the entire monthly view is available without scrolling and then event details (full name and time) are below and can be seen by scrolling. A handy trick to show/hide the calendar is to use the WINDOWS-D shortcut. It acts like a toggle, showing the desktop then restoring your windows. I find it better than WINDOWS-M, which only minimizes all windows. Here are some screenshots:
Update 1/29/2006: Another way, without using Active Desktop.
Based on a comment from itsoweezy, I added a way to do this without always having the calendar on the desktop. There is an additional HTML file to download and place in the same directory as desktop_calendar.php. When you load desktop_launch.html, click on the link to open a new browser window with minimal controls on it showing the desktop calendar page. With an application that allows you to minimize to the tray, the window can be always accessible and out of the way.
- desktop_launch.html (right-click to save HTML file)
I tried using TrayIt, and it worked out very well. I set the TrayIt option so a single click will bring the minimized window out of the tray and it was very usable. Launch the calendar page and control-click on the minimize button to put it in the tray and a single-click will bring it back to the front. Thanks itsoweezy!
January 27th, 2006 at 6:26 pm
It appears that the desktop_calendar.php.source file has been munged.
January 27th, 2006 at 6:53 pm
Thanks Lindsey,
It was my bad that it was trying to run the php file. I have renamed it .phps and it should work now.
January 27th, 2006 at 11:46 pm
neet idea. I use phpical on my server. Any way to get the active destop action on a mac?
January 28th, 2006 at 4:21 pm
I think it looks really great, and your developments are helpful for me as well!
I just wish it had a little app that I could send to the tray because staring at a huge calendar over the wallpaper all day isn’t really ideal for me.
Have you ever thought about making this standalone?
January 29th, 2006 at 8:10 pm
Great! I think I’m using a similar combination of what you’re using now as well.
I love it! The google personalized homepage calendar module just wasn’t cutting it any more.
Thanks again.
April 6th, 2006 at 9:15 pm
ok so i have windows ;( –does this mean I can’t do any of this, explained above? I dl’d phpcalendar, but I dont know how or even if I can link it to any published calendar (i’m using hipcal, after trying about 10 different recommended online calendars–i dont like airset or 30boxes, sorry), but I’d love to do what is outlined above. PLS somebody show me the way, links to more info or whatever, would be greatly appreciated…
thanks…sorry if i’m way behind!