Nav links

Monday, 4 January 2010

Wallpapering Windows 7

In the distant past I created my own Wallpaper changing programs for Windows. WimpWall would switch to a random image within a given folder on your computer, and Fleace would fetch an image on a given topic from Flickr. After my recent permanent move from Windows XP to Windows 7 I set about seeing if Win7's built-in functionality would render my software redundant. I am happy to report that the answer is a qualified yes, with the results being good enough for me to skip installing my software.

Getting Windows 7 to randomly switch between images in a given folder is quite straightforward. Perhaps the easiest method is to select (control-click) multiple images in Windows Explorer, then right-click the selection and choose "Set as desktop background". If the don't like the chosen picture then right-click the desktop and choose "Next desktop background". You can customise the settings to choose how the image should be fitted to the desktop, and how often it should be changed. Right-click the desktop, choose Personalize, then Desktop Background.

An alternative method of choosing images from a folder is from the Desktop Background settings window. However, note that neither of these options let you choose images from multiple folders. This can only be done if you select the Picture Location to be your Pictures Library. Although it's easy to add folders to the library it would be preferable if Win7 would automatically recurse selected folders, especially as the interface for this has already been designed for the Library. Anyway, that's WimpWall taken care of. Fleace is a little harder.

You can get an overview of Win7's theme capabilities from the Engineering Windows 7 blog. This will lead you onwards to a technical description of Creating and Installing Theme Files from MSDN. This is explained better, with screenshots, by makeuseof.com, where they walk through setting up a theme file to automatically download Bing wallpapers. They also give the address of a few sample Flickr feeds, but to get Flickr working well you should also read Phil Hawley's blog to understand some of the drawbacks. Finally, there's a sample feed from Agence France-Presse at Netweb.

Phew! Have you read all that?

The crucial point is that although Win7 can grab desktop backgrounds from RSS feeds they have not exposed this through the graphical interface. Instead, you have to delve into theme text files to manually add the feed address, or use a theme file created by someone else where this has been done. Although the technical links above indicate that the RSS feeds must use enclosures for the pictures to work as desktop backgrounds, the Flickr feeds I tested without enclosures also worked. However, Nasa's Astronomy Picture of the Day feed does not work.

Speaking of Flickr, how well can you emulate Fleace using just Win7? The answer relates to how close Flickr feeds come to matching their API. Fleace retrieves pictures from Flickr using their photo search API. It asks for particular tags, and for the photos to be returned with the most interesting ones first. You can request a feed for a particular tag or group, but you can't specify the order for the pictures to be returned, so you get them in chronological order. You also can't say what size images you'd like, so you may be given a very low resolution image that is unsuitable for a large desktop background. This problem will not occur if you select your group wisely, such as a wallpaper specific group.

Here's a Flickr feed where I'm trying to grab photos tagged "puppy", "beach" or "lake district": http://api.flickr.com/services/feeds/photos_public.gne?format=rss_200&tags=puppy,beach,lake%20district&tagmode=any

Overall, I found the dynamic wallpaper options in Windows 7 to be sufficient for my needs. With a few minor interface tweaks to Windows 7, and some enhancements by RSS feed providers such as Flickr, perfection will be attained.

P.S. In Firefox you can look at the content of a feed by preprending the URL with view-source, such as view-source:http://api.flickr.com/services/feeds/photos_public.gne?format=rss_200&tags=lake%20district&tagmode=any