I updated the Flickr RSS ScreenSaver (link actually works now) to actually have a configuration sheet and too allow the RSS feed to be customized from the UI. It is far from perfect.
The groundwork has been laid to handle multiple RSS feeds simultaneously. Currently, the UI -- the Quartz Composer based presentation layer -- needs to b updated to fix the presentation.
Hence, the challenge. I'm out of time on this and, besides, I have the design skills of your average Border Collie.
So, if anyone cares to create a new Quartz Composer presentation for the photo feeds, I will be happy to integrate it into the screen saver. If I get enough good ones, I'll add a feature to allow the user to choose between different kinds of presentations.
Quartz Composer is a lot of fun to play with and you don't even need to quit System Preferences to make live changes to the presentation piece.
If you install the saver in ~/Library, then:
And, once opened in Quartz Composer, bring up System Preference's screen saver module and select the Flickr screen saver. After edit/save in Quartz Composer, hit the "test" button in System Preferences and the test view will reload the newly saved QC document.
I did a bit of recreational programming this evening and hacked up a screen saver that can be subscribed to a Flickr photo feed. It will grab the images on the feed and present a basic slideshow with each image and its title.
At the moment, it is just a proof of concept. It totally lacks a configuration UI and the Quartz Composer patch could use a total redesign. Actually, it wouldn't be hard to integrate the RSS screensaver's patch into this screensaver to give fancy, spinning, thumbnails instead of the flat rendered versions that currently appear.
There are three user defaults that can be used to control the screensaver.
defaults write net.bbum.FlickrFeeds Duration 30 will set the time to display each photo to 30 seconds (default is 20).
defaults write net.bbum.FlickrFeeds FlickrURL ...url... can be used to change the RSS URL that the saver downloads images from. It should be able to parse any Flickr RSS or Atom feed, but maybe not even that. Out of the box, it is aimed at my flickr photo feed.
Finally, defaults write net.bbum.FlickrFeeds FlickrURL ShowFPS YES will display the frames-per-second in the lower left corner.
Source is available. What isn't implemented in Quartz Composer is written in Python via PyObjC. So, you will need to have PyObjC (top-of-tree) and Mark Pilgrim's feed parser installed to build the source. The binary download contains all the required bits in the bundle thanks to the wonders of py2app.
The source is divided into two pieces. FlickrFeeds.py demonstrates how to embed a QCView (a class to embed Quartz Composer document into a Cocoa view hierarchy) into a screen saver and pass custom values into the embedded QC patch. FeedManager.py contains all of the RSS download-and-parse code. It is designed to eventually do the download in the background, maybe.