webcollage - decorate the screen with random images from the web
webcollage [-display host:display.screen] [-root] [-verbose] [-timeout secs] [-delay secs]
[-background bg] [-no-output] [-urls-only] [-size WxH] [-filter command] [-filter2 com-
mand] [-http-proxy host[:port]] [-dictionary dictionary-file] [-driftnet [cmd]]
The webcollage program pulls random image off of the World Wide Web and scatters them on
the root window. One satisfied customer described it as "a nonstop pop culture brain-
bath." This program finds its images by doing random web searches, and extracting images
from the returned pages. It places the images on the root window by using the
giftopnm(1), djpeg(1), and xli(1), xv(1), or xloadimage(1) tools.
webcollage is written in perl(1) and requires Perl 5.
It will be an order of magnitude faster if you also have the webcollage-helper program
installed (a GDK/JPEG image compositor), but webcollage works without it as well.
webcollage can be used in conjunction with the driftnet(1) program (the Unix equivalent of
EtherPEG) to snoop images from traffic on your local subnet, instead of getting images
from search engines.
webcollage accepts the following options:
-root Draw on the root window. This option is manditory, if output is being produced:
drawing to a window other than the root window is not yet supported.
-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.
How long to wait for a URL to complete before giving up on it and moving on to the
next one. Default 30 seconds.
How long to sleep between images. Default 2 seconds. (Remember that this program
probably spends a lot of time waiting for the network.)
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 a PPM
Normally, the output image will be made to be the size of the screen. This lets
you specify the desired size.
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.
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
webcollage -root -filter 'vidwhacker -stdin -stdout'
Filter the composite image through this command. The -filter option applies to
the sub-images; the -filter2 applies to the final, full-screen image.
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.
Webcollage normally looks at the system's default spell-check dictionary to gener-
ate words to feed into the search engines. You can specify an alternate dictio-
nary with this option.
-driftnet [ args ]
driftnet(1) is a program that snoops your local ethernet for packets that look
like they might be image files. It can be used in conjunction with webcollage to
generate a collage of what other people on your network are looking at, instead of
a search-engine collage. If you have driftnet installed on your $PATH, just use
the -driftnet option. You can also specify the location of the program like this:
or, you can provide extra arguments like this:
-driftnet '/path/to/driftnet -extra -args'
Driftnet version 0.1.5 or later is required. Note that the driftnet program
requires root access, so you'll have to make driftnet be setuid-root for this to
work. Please exercise caution.
DISPLAY 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.
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 to search engines.
http://image.altavista.com/, http://images.google.com/, http://news.yahoo.com/ http://ran-
dom.yahoo.com/bin/ryl, and http://lycospro.lycos.com/, to find random web pages.
When drawing on the root window, it always uses the default colormap. This is actually a
limitation of xv. But regardless, when using this program with xscreensaver, it must be
given the default-n visual specification (see the xscreensaver(1) manual for more
Animating GIFs are not supported: only the first frame will be used.
Too many of the images that it finds are text, not pictures. This is because most of the
web is pictures of text. Which is pretty sad.
The latest version of webcollage can be found as a part of xscreensaver, at
http://www.jwz.org/xscreensaver/, or on the WebCollage page at http://www.jwz.org/webcol-
X(1), xscreensaver(1), xli(1), xv(1), xloadimage(1), ppmmake(1), giftopnm(1), pnmpaste(1),
pnmscale(1), djpeg(1), cjpeg(1), xdpyinfo(1), perl(1), vidwhacker(1), dadadodo(1), drift-
net(1) EtherPEG, EtherPeek
Copyright (C) 1998-2002 by Jamie Zawinski. Permission to use, copy, modify, distribute,
and sell this software and its documentation for any purpose is hereby granted without
fee, provided that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting documentation. No repre-
sentations are made about the suitability of this software for any purpose. It is pro-
vided "as is" without express or implied warranty.
Jamie Zawinski <email@example.com>, 24-May-98.
X Version 11 17-Jun-99 XScreenSaver(1)