From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / hacks / webcollage.man
1 .de EX          \"Begin example
2 .ne 5
3 .if n .sp 1
4 .if t .sp .5
5 .nf
6 .in +.5i
7 ..
8 .de EE
9 .fi
10 .in -.5i
11 .if n .sp 1
12 .if t .sp .5
13 ..
14 .TH XScreenSaver 1 "17-Jun-99" "X Version 11"
15 .SH NAME
16 webcollage - decorate the screen with random images from the web
17 .SH SYNOPSIS
18 .B webcollage
19 [\-display \fIhost:display.screen\fP]
20 [\-root]
21 [\-window\-id \fIid\fP]
22 [\-verbose]
23 [\-timeout \fIsecs\fP]
24 [\-delay \fIsecs\fP]
25 [\-background \fIbg\fP]
26 [\-no-output]
27 [\-urls-only]
28 [\-imagemap \fIfilename-base\fP]
29 [\-size \fIWxH\fP]
30 [\-opacity \fIratio\fP]
31 [\-filter \fIcommand\fP]
32 [\-filter2 \fIcommand\fP]
33 [\-http\-proxy host[:port]]
34 [\-dictionary \fIdictionary-file\fP]
35 [\-driftnet [\fIcmd\fP]]
36 [\-directory \fIdir\fP]
37 [\-fps]
38 .SH DESCRIPTION
39 The \fIwebcollage\fP program pulls random image off of the World Wide Web
40 and scatters them on the root window.  One satisfied customer described it
41 as "a nonstop pop culture brainbath."  This program finds its images by
42 doing random web searches, and extracting images from the returned pages.
43
44 \fIwebcollage\fP is written in
45 .BR perl (1)
46 and requires Perl 5.
47
48 It will be an order of magnitude faster if you also have
49 the \fIwebcollage-helper\fP program installed (a GDK/JPEG image
50 compositor), but \fIwebcollage\fP works without it as well.
51
52 \fIwebcollage\fP can be used in conjunction with the
53 .BR driftnet (1)
54 program (the Unix equivalent of EtherPEG) to snoop images from traffic
55 on your local subnet, instead of getting images from search engines.
56 .SH OPTIONS
57 .I webcollage
58 accepts the following options:
59 .TP 8
60 .B \-root
61 Draw on the root window.  This option is mandatory, if output is being
62 produced: drawing to a window other than the root window is not yet
63 supported.
64
65 Images are placed on the root window by using one of the
66 .BR xscreensaver-getimage (1),
67 .BR chbg (1),
68 .BR xv (1),
69 .BR xli (1),
70 or
71 .BR xloadimage (1)
72 programs (whichever is available.)
73 .TP 8
74 .B \-window\-id \fIid\fP
75 Draw to the indicated window instead; this only works if the
76 .BR xscreensaver-getimage (1)
77 program is installed.
78 .TP 8
79 .B \-verbose \fRor\fP \-v
80 Print diagnostics to stderr.  Multiple \fI-v\fP switches increase the
81 amount of output.  \fI-v\fP will print out the URLs of the images,
82 and where they were placed; \fI-vv\fP will print out any warnings,
83 and all URLs being loaded; \fI-vvv\fP will print information on
84 what URLs were rejected; and so on.
85 .TP 8
86 .B \-timeout \fIseconds\fP
87 How long to wait for a URL to complete before giving up on it and
88 moving on to the next one.
89 Default 30 seconds.
90 .TP 8
91 .B \-delay \fIseconds\fP
92 How long to sleep between images.  Default 2 seconds.  (Remember that
93 this program probably spends a lot of time waiting for the network.)
94 .TP 8
95 .B \-background \fIcolor-or-ppm\fP
96 What to use for the background onto which images are pasted.  This may be
97 a color name, a hexadecimal RGB specification in the form '#rrggbb', or 
98 the name of a PPM file.
99 .TP 8
100 .B \-size \fIWxH\fP
101 Normally, the output image will be made to be the size of the
102 screen (or target window.)  This lets you specify the desired size.
103 .TP 8
104 .B \-opacity \fIratio\fP
105 How transparently to paste the images together, with 0.0 meaning
106 "completely transparent" and 1.0 meaning "opaque."  Default 0.85.
107 A value of around 0.3 will produce an interestingly blurry image
108 after a while.
109 .TP 8
110 .B \-no-output
111 If this option is specified, then no composite output image will be
112 generated.  This is only useful when used in conjunction 
113 with \fB\-verbose\fP.
114 .TP 8
115 .B \-urls-only
116 If this option is specified, then no composite output image will be
117 generated: instead, a list of image URLs will be printed on stdout.
118 .TP 8
119 .B \-imagemap \fIfilename-base\fP
120 If this option is specified, then instead of writing an image to the
121 root window, two files will be created: "\fIbase\fP.html" and "\fIbase\fP.jpg".
122 The JPEG will be the collage; the HTML file will include that image, and
123 an image-map making the sub-images be linked to the pages on which they
124 were found (just like \fIhttp://www.jwz.org/webcollage/\fP.)
125 .TP 8
126 .B \-filter \fIcommand\fP
127 Filter all source images through this command.  The command must take
128 a PPM file on stdin, and write a new PPM file to stdout.  One good 
129 choice for a filter would be:
130 .EX
131 webcollage -root -filter 'vidwhacker -stdin -stdout'
132 .EE
133 .TP 8
134 .B \-filter2 \fIcommand\fP
135 Filter the \fIcomposite\fP image through this command.  The \fI-filter\fP
136 option applies to the sub-images; the \fI-filter2\fP applies to the
137 final, full-screen image.
138 .TP 8
139 .B \-http\-proxy \fIhost:port\fP
140 If you must go through a proxy to connect to the web, you can specify it 
141 with this option, or with the \fB$http_proxy\fP or \fB$HTTP_PROXY\fP 
142 environment variables.
143 .TP 8
144 .B \-dictionary \fIfile\fP
145 Webcollage normally looks at the system's default spell-check dictionary
146 to generate words to feed into the search engines.  You can specify an
147 alternate dictionary with this option.
148
149 Note that by default, webcollage searches for images using several
150 different methods, not all of which involve dictionary words, so
151 using a "topical" dictionary file will not, in itself, be as effective
152 as you might be hoping.
153 .TP 8
154 .B \-driftnet \fI[ args ]\fP
155 .BR driftnet (1)
156 is a program that snoops your local ethernet for packets that look
157 like they might be image files.  It can be used in conjunction 
158 with \fIwebcollage\fP to generate a collage of what other people on
159 your network are looking at, instead of a search-engine collage.
160 If you have \fIdriftnet\fP installed on your $PATH, just use 
161 the \fI\-driftnet\fP option.  You can also specify the location
162 of the program like this:
163 .EX
164 -driftnet /path/to/driftnet
165 .EE
166 or, you can provide extra arguments like this:
167 .EX
168 -driftnet '/path/to/driftnet -extra -args'
169 .EE
170 Driftnet version 0.1.5 or later is required.  Note that 
171 the \fIdriftnet\fP program requires root access, so you'll have
172 to make \fIdriftnet\fP be setuid-root for this to work.
173 Please exercise caution.
174 .TP 8
175 .B \-directory \fIdir\fP
176 Instead of searching the web for images, use the contents of
177 the given directory.
178 .TP 8
179 .B \-fps
180 Display the current frame rate and CPU load (MacOS only).
181 .SH ENVIRONMENT
182 .PP
183 .TP 8
184 .B DISPLAY
185 to get the default host and display number.
186 .TP 8
187 .B XENVIRONMENT
188 to get the name of a resource file that overrides the global resources
189 stored in the RESOURCE_MANAGER property.
190 .TP 8
191 .B http_proxy\fR or \fPHTTP_PROXY
192 to get the default HTTP proxy host and port.
193 .SH FILES AND URLS
194 .I /usr/dict/words,
195 .I /usr/share/lib/dict/words,\fP
196 or
197 .I /usr/share/dict/words
198 to find the random words to feed to certain search engines.
199
200     \fIhttp://www.altavista.com/image/randomlink\fP,
201     \fIhttp://random.yahoo.com/fast/ryl\fP,
202     \fIhttp://www.livejournal.com/stats/latest-img.bml\fP, and
203     \fIhttp://www.google.com/\fP
204 to find random web pages.
205 .SH BOOBIES
206 The Internet being what it is, absolutely anything might show up in the
207 collage including -- quite possibly -- pornography, or even nudity.
208 .SH BUGS
209 Animating GIFs are not supported: only the first frame will be used.
210 .SH UPGRADES
211 The latest version of webcollage can be found as a part of
212 xscreensaver, at 
213 .B http://www.jwz.org/xscreensaver/,
214 or on the WebCollage page at 
215 .B http://www.jwz.org/webcollage/.
216
217 DriftNet:
218 .B http://www.ex-parrot.com/~chris/driftnet/
219 .SH SEE ALSO
220 .BR X (1),
221 .BR xscreensaver (1),
222 .BR xli (1),
223 .BR xv (1),
224 .BR xloadimage (1),
225 .BR ppmmake (1),
226 .BR giftopnm (1),
227 .BR pnmpaste (1),
228 .BR pnmscale (1),
229 .BR djpeg (1),
230 .BR cjpeg (1),
231 .BR xdpyinfo (1),
232 .BR perl (1),
233 .BR vidwhacker (MANSUFFIX),
234 .BR dadadodo (1),
235 .BR driftnet (1)
236 .BR EtherPEG ,
237 .BR EtherPeek
238 .SH COPYRIGHT
239 Copyright \(co 1998-2005 by Jamie Zawinski.  Permission to use, copy, modify,
240 distribute, and sell this software and its documentation for any purpose is
241 hereby granted without fee, provided that the above copyright notice appear
242 in all copies and that both that copyright notice and this permission notice
243 appear in supporting documentation.  No representations are made about the
244 suitability of this software for any purpose.  It is provided "as is" without
245 express or implied warranty.
246 .SH AUTHOR
247 Jamie Zawinski <jwz@jwz.org>, 24-May-1998.