Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like my desktop wallpaper to fade between transitions instead of a cut. Is there a way to do this with feh? Maybe using xcompmgr or compton?

If not is there a way of doing it without changing to a different wm? I am using awesome at the moment.

share|improve this question
I think if you use awesome and feh opens a new window of each image (and close the prev window), it's possible. Check awesome.naquadah.org/wiki/Signals#client - if your question is actually now :) – uzsolt Jun 24 '13 at 14:56

You can use a xscreensaver as a wallpaper, and glslideshow does what you want. Although it has a -root option, you will usually need xwinwrap for it to work correctly:

xwinwrap -ov -fs -- \
    /usr/lib/xscreensaver/glslideshow -window-id WID -zoom 100
# location of xscreensavers may vary between distros

The -zoom option sets the images to fill the screen, so they don't pan around.

You can not manually select an image with this solution, but you can set a directory, from where glslideshow will take random images (it recurses into subdirectories). This can either be done on the "advanced" tab in xscreensaver-demo or by creating a file .xscreensaver in your home directory with the following content:

chooseRandomImages: True
imageDirectory: /your/wallpaper/path

See the manpage of glscreensaver for further options to customize.

Without xwinwrap, glslideshow may do strange things, like draw over all your windows, when using compositing (e.g. with xcompmgr). But when disabling compositing, the root image is only redrawn when it moves, so you either have to set glslideshow to do continuous image transformations or you will have black boxes where windows have been since the last redraw. Sometimes it works, but it is safer to use xwinwrap.

share|improve this answer

If you add imagemagick into the equation, then the answer to your question is yes. What follows is what could be a rather crude implemenation:

mv current.bg old.bg
imagemagick convert old.bg -fill black -colorize 50% transition.bg
feh --bg-scale transition.bg
imagemagick convert new.bg -fill black -colorize 50% transition.bg
feh --bg-scale transition.bg
feh --bg-scale new.bg
mv new.bg current.bg

Still, though, with imagemagick your options are pretty wide open.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.