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