Gnome wallpaper changer

freshwall is a wallpaper changing script for Gnome on *nix. It selects a random wallpaper from Gnome's backgrounds.xml file (or another file, if configured to do so) and sets the new choice as the Gnome background.

All versions require Python 2.4-2.6 and the Python GConf bindings. The --preferences switch requires PyGTK (and GTK+) as well; both version 2.4 or better for 1.0, or version 2.6 or better for 1.1. The daemon mode in version 1.1 additionally requires dbus-python 0.80.0 or better, and also depends on PyGTK (for the glib mainloop).

Version 1.0 does not support changing the wallpaper periodically; this was added in version 1.1. I personally prefer to set the wallpaper at login and leave it alone for the session, so I added the freshwall command to Preferences → Sessions.

Downloads

Please note that the release isn't considered 100% finalized until it is published to PyPI. The tarballs are subject to change until that happens.

Development Versions

Development is currently occurring on the freshwall-distutils branch. Trunk is still a little less than 1.0 in terms of features.

Roadmap

Version numbering scheme: 1.x will keep Python-2.4 compatibility; 2.x will be for Python-2.6 and Python-3.x. There are currently no guarantees of API compatibility within a major series, but the command-line interface should remain backward-compatible.

1.1: Daemon mode [released]
New daemon-related settings in the preferences window; --daemon, --period, --spread options to use daemon mode; DBus interface for daemon control; "never choose the same wallpaper" preference; "change now" button on preferences GUI; major freshwall module restructuring to support these features.
1.2: Fit and Finish
Create GConf schema definitions, and integrate them into the install process. Also under consideration: .desktop file and automated RPM build support (bdist_rpm).
1.3: SFX Revival
Extend setup.py to allow for creating a self-extracting archive.
2.0: Python 3000
Port all features of freshwall 1.3 to run under Python 2.6 and 3.x. Push for inclusion in Fedora, Debian, Ubuntu, etc.