Your company here, and a link to your site. Click to find out more.

webcollage - Man Page

a collage of random images from the World Wide Web


webcollage [--display host:display.screen] [--root] [--window-id number] [--window-id id] [--verbose] [--timeout secs] [--delay secs] [--background bg] [--no-output] [--urls-only] [--imagemap filename-base] [--size WxH] [--opacity ratio] [--filter command] [--filter2 command] [--http-proxy host[:port]] [--dictionary dictionary-file] [--directory dir] [--fps]


This screen saver creates collages out of random images from the World Wide Web.  It finds the images by feeding random words into various search engines, then pulling images (or sections of images) out of the pages returned. One satisfied customer described it as "a nonstop pop culture brainbath".

You can also see it in action at https://www.jwz.org/webcollage/


webcollage accepts the following options:

--root or --window-id number

Draw on the specified window.  Images are placed on the root window using the xscreensaver-getimage(6x) program.

--verbose or --v

Print diagnostics to stderr.  Multiple -v switches increase the amount of output.  -v will print out the URLs of the images, and where they were placed; -vv will print out any warnings, and all URLs being loaded; -vvv will print information on what URLs were rejected; and so on.

--timeout seconds

How long to wait for a URL to complete before giving up on it and moving on to the next one. Default 30 seconds.

--delay seconds

How long to sleep between images.  Default 2 seconds.  (Remember that this program probably spends a lot of time waiting for the network.)

--background color-or-file

What to use for the background onto which images are pasted.  This may be a color name, a hexadecimal RGB specification in the form '#rrggbb', or  the name of an image file.

--size WxH

Normally, the output image will be made to be the size of the screen (or target window).  This lets you specify the desired size.

--opacity ratio

How transparently to paste the images together, with 0.0 meaning "completely transparent" and 1.0 meaning "opaque."  Default 0.85. A value of around 0.3 will produce an interestingly blurry image after a while.


If this option is specified, then no composite output image will be generated.  This is only useful when used in conjunction  with --verbose.


If this option is specified, then no composite output image will be generated: instead, a list of image URLs will be printed on stdout.

--imagemap filename-base

If this option is specified, then instead of writing an image to the root window, two files will be created: "base.html" and "base.jpg". The JPEG will be the collage; the HTML file will include that image, and a series of clickable rectangles linking the sub-images to the pages on which they were found, as seen on the web version of WebCollage at https://www.jwz.org/webcollage/

--filter command

Filter all source images through this command.  The command must take a PPM file on stdin, and write a new PPM file to stdout.  One good  choice for a filter would be:

	webcollage -root -filter 'vidwhacker -stdin -stdout'
--filter2 command

Filter the composite image through this command.  The -filter option applies to the sub-images; the -filter2 applies to the final, full-screen image.

--http-proxy host:port

If you must go through a proxy to connect to the web, you can specify it  with this option, or with the $http_proxy or $HTTP_PROXY  environment variables.

--dictionary file

Webcollage normally looks at the system's default spell-check dictionary to generate words to feed into the search engines.  You can specify an alternate dictionary with this option.

Note that by default, webcollage searches for images using several different methods, not all of which involve dictionary words, so using a "topical" dictionary file will not, in itself, be as effective as you might be hoping.

--directory dir

Instead of searching the web for images, use the contents of the given directory.


Display the current frame rate and CPU load (MacOS only).

Notes for Fedora User

Webcollage on Fedora uses '-directory' option by default, so it does not connect to internet and uses image files on your local disk. If you want webcollage to search for image files on net, use webcollage.original .



to get the default host and display number.


to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.


The window ID to use with --root.

http_proxy or HTTP_PROXY

to get the default HTTP proxy host and port.

Files and Urls

/usr/dict/words, /usr/share/lib/dict/words, or /usr/share/dict/words to find the random words to feed into to various search fields, including Google, Bing, Flickr, Imgur and Tumblr.


The Internet being what it is, absolutely anything might show up in the collage including -- quite possibly -- pornography, or even nudity.


Animating GIFs are not supported: only the first frame will be used.

See Also

X(1), xscreensaver(1), convert(1), vidwhacker(6x), dadadodo(1), driftnet(1), EtherPEG, EtherPeek, https://www.jwz.org/webcollage/


Jamie Zawinski <jwz@jwz.org>, 24-May-1998.


6.08-2.fc40 (27-Jan-2024) X Version 11 XScreenSaver manual