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