I'd like to write a program which displays dynamically-generated slideshows on the desktop, replacing the wallpaper. The point is to display live photo-streams from the web, updating the wallpaper automatically as new images are posted.
I'm currently looking for the best way to display the images. The simplest thing is to just update the wallpaper by issuing a command to gsettings, for example:
gsettings set org.gnome.desktop.background picture-uri file:///new_wallpaper.png
But this approach isn't perfect:
1) (minor) There's a perceptible lag between issuing the command and the update.
2) (major) There's no smooth transition from the old wallpaper to the new wallpaper, so the effect is jarring.
Do I have a better option? A simple fade transition would be sufficient for my needs. In the future, though, I'll want an interactive canvas, so the user can click on an interesting photo and have the relevant link opened in a browser.