Nav links

Thursday, 5 August 2004

New free wallpaper changer

I've just put WimpWall, the wimpiest way to change your Windows wallpaper, out into the world.

There's a remarkable number of wallpaper changers already out there, basically because it's so simple to code. The actual work to tell Windows to set its desktop to use this_nice_picture.bmp is one simple well-documented line. Where the fun comes in is automating this process, and making it a little more functional. For example, unless you use the resource-hog of Active Desktop you can only use BMP format pictures. So you'd probably want your wallpaper changer to cope with JPEGs, by doing a conversion.

Another thing that I wanted, but couldn't find in one package with my other wants, was the ability to run once, such as at startup, then exit, so as not to use memory all the time. Also, I have my wallpapers categorised into different folders within a wallpaper folder, so I wanted to be able to just specify that main folder, and have the changer recurse down into the others.

I actually found some software that did both of these things. It was tiny, and had a minimal GUI interface. However, it offered no options on how to display the image (eg. tile, stretch or centre), and it sometimes chose the ugliest possiblity.

So, I installed Borland Delphi 6 Personal, from a magazine CD, and spent a few days writing the changer of my dreams. After finishing the major functionality, and polishing the GUI, I added a final convenience option. I gave a little 5 second warning before the picture is changed, allowing it to be cancelled. This was for those times when I'd set a wallpaper that I was particularly fond of, and I wasn't ready for it to be changed.

To finish my work on it today, I set up its web page, created a program icon for it (by changing the colour of my Mandelbrot Explorer program icon - I decided to keep the fractal theme), and finished documenting the code.

So, I installed Delphi 6 last Thursday, started WimpWall on Friday, and put it on the net today, Thursday of the following week. I guess it really is RAD.