<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>5.09</string>
+ <string>5.10</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>5.09</string>
+ <string>5.10</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>NSMainNibFile</key>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
- <string>5.09</string>
+ <string>5.10</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>5.09</string>
+ <string>5.10</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>NSMainNibFile</key>
-/* xscreensaver, Copyright (c) 2006, 2007 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2006-2009 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
perror ("putenv");
abort();
}
-// free (npath); // Oops, don't free this! putenv() does not copy it!
+
+ /* Don't free (npath) -- MacOS's putenv() does not copy it. */
}
perror ("putenv");
abort();
}
- free (env);
+ /* Don't free (env) -- MacOS's putenv() does not copy it. */
}
\f1\b0 \
by Jamie Zawinski \uc0\u8232 and many others\
\
-version 5.09 \uc0\u8232 03-Sep-2009\
+version 5.10 \uc0\u8232 07-Sep-2009\
\
{\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}}\
\pard\pardeftab720\li720
unsigned int depth);
extern XPixmapFormatValues *XListPixmapFormats (Display *, int *count_ret);
-extern void jwxyz_draw_NSImage (Display *, Drawable, void *NSImage_arg,
- XRectangle *geom_ret, int exif_rotation);
+extern void jwxyz_draw_NSImage_or_CGImage (Display *, Drawable,
+ Bool nsimg_p, void *NSImage_arg,
+ XRectangle *geom_ret,
+ int exif_rotation);
extern int XSetGraphicsExposures (Display *, GC, Bool);
extern Bool XTranslateCoordinates (Display *, Window src_w, Window dest_w,
// w->cgc = [[[view window] graphicsContext] graphicsPort];
w->cgc = 0;
w->window.view = view;
+ CFRetain (w->window.view); // needed for garbage collection?
w->window.background = BlackPixel(0,0);
d->main_window = w;
if (d->type == PIXMAP) {
depth = d->pixmap.depth;
+ alpha_first_p = 1; // we created it with kCGImageAlphaNoneSkipFirst.
ibpp = CGBitmapContextGetBitsPerPixel (d->cgc);
ibpl = CGBitmapContextGetBytesPerRow (d->cgc);
data = CGBitmapContextGetData (d->cgc);
void
-jwxyz_draw_NSImage (Display *dpy, Drawable d, void *nsimg_arg,
- XRectangle *geom_ret, int exif_rotation)
+jwxyz_draw_NSImage_or_CGImage (Display *dpy, Drawable d,
+ Bool nsimg_p, void *img_arg,
+ XRectangle *geom_ret, int exif_rotation)
{
- NSImage *nsimg = (NSImage *) nsimg_arg;
+ CGImageRef cgi;
+ CGImageSourceRef cgsrc;
+ NSSize imgr;
+
+ if (nsimg_p) {
+
+ NSImage *nsimg = (NSImage *) img_arg;
+ imgr = [nsimg size];
+
+ // convert the NSImage to a CGImage via the toll-free-bridging
+ // of NSData and CFData...
+ //
+ NSData *nsdata = [NSBitmapImageRep
+ TIFFRepresentationOfImageRepsInArray:
+ [nsimg representations]];
+ CFDataRef cfdata = (CFDataRef) nsdata;
+ cgsrc = CGImageSourceCreateWithData (cfdata, NULL);
+ cgi = CGImageSourceCreateImageAtIndex (cgsrc, 0, NULL);
+
+ } else {
+ cgi = (CGImageRef) img_arg;
+ imgr.width = CGImageGetWidth (cgi);
+ imgr.height = CGImageGetHeight (cgi);
+ }
- // convert the NSImage to a CGImage via the toll-free-bridging
- // of NSData and CFData...
- //
- NSData *nsdata = [NSBitmapImageRep
- TIFFRepresentationOfImageRepsInArray:
- [nsimg representations]];
- CFDataRef cfdata = (CFDataRef) nsdata;
- CGImageSourceRef cgsrc = CGImageSourceCreateWithData (cfdata, NULL);
- CGImageRef cgi = CGImageSourceCreateImageAtIndex (cgsrc, 0, NULL);
-
- NSSize imgr = [nsimg size];
Bool rot_p = (exif_rotation >= 5);
if (rot_p)
CGContextDrawImage (d->cgc, dst2, cgi);
CGContextRestoreGState (d->cgc);
- CFRelease (cgsrc);
- CGImageRelease (cgi);
+ if (nsimg_p) {
+ CFRelease (cgsrc);
+ CGImageRelease (cgi);
+ }
if (geom_ret) {
geom_ret->x = dst.origin.x;
NSTextStorage *ts = [[NSTextStorage alloc] initWithString:nsstr];
[ts setFont:fid->nsfont];
NSLayoutManager *lm = [[NSLayoutManager alloc] init];
+
+ /* Without this, the layout manager ends up on a queue somewhere and is
+ referenced again after we return to the command loop. Since we don't
+ use this layout manager again, by that time it may have been garbage
+ collected, and we crash. Setting this seems to cause `lm' to no
+ longer be referenced once we exit this block. */
+ [lm setBackgroundLayoutEnabled:NO];
+
NSTextContainer *tc = [[NSTextContainer alloc] init];
[lm addTextContainer:tc];
[tc release]; // lm retains tc
NSLog(@"no NSFont for \"%s\"", name);
abort();
}
+ CFRetain (fid->nsfont); // needed for garbage collection?
//NSLog(@"parsed \"%s\" to %s %.1f", name, fid->ps_name, fid->size);
// They're probably not very big...
//
// [fid->nsfont release];
+ // CFRelease (fid->nsfont);
free (fid);
return 0;
XUnloadFont (dpy, gc->gcv.font);
gc->gcv.font = copy_font (fid);
[gc->gcv.font->nsfont retain];
+ CFRetain (gc->gcv.font->nsfont); // needed for garbage collection?
return 0;
}
font = XLoadFont (0, 0);
gc->gcv.font = font;
[gc->gcv.font->nsfont retain];
+ CFRetain (gc->gcv.font->nsfont); // needed for garbage collection?
}
CGContextSelectFont (cgc, font->ps_name, font->size, kCGEncodingMacRoman);
CGContextSetTextMatrix (cgc, CGAffineTransformIdentity);
#import "usleep.h"
+#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
+
+ /* 10.4 code.
+
+ This version of the code works on 10.4, but is flaky. There is
+ a better way to do it on 10.5 and newer, but taking this path,
+ then we are being compiled against the 10.4 SDK instead of the
+ 10.5 SDK, and the newer API is not available to us.
+ */
+
static void
copy_framebuffer_to_ximage (CGDirectDisplayID cgdpy, XImage *xim,
int window_x, int window_y)
osx_grab_desktop_image (Screen *screen, Window xwindow, Drawable drawable)
{
Display *dpy = DisplayOfScreen (screen);
- XWindowAttributes xgwa;
NSView *nsview = jwxyz_window_view (xwindow);
NSWindow *nswindow = [nsview window];
+ XWindowAttributes xgwa;
int window_x, window_y;
Window unused;
- // figure out where this window is on the screen
+ // Figure out where this window is on the screen.
//
XGetWindowAttributes (dpy, xwindow, &xgwa);
XTranslateCoordinates (dpy, xwindow, RootWindowOfScreen (screen), 0, 0,
&window_x, &window_y, &unused);
-
+
// Use the size of the Drawable, not the Window.
{
Window r;
}
+#else /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+
+ 10.5+ code.
+
+ This version of the code is simpler and more reliable, but
+ uses an API that only exist on 10.5 and newer, so we can only
+ use it if when being compiled against the 10.5 SDK or later.
+ */
+
+/* Loads an image into the Drawable, returning once the image is loaded.
+ */
+void
+osx_grab_desktop_image (Screen *screen, Window xwindow, Drawable drawable)
+{
+ Display *dpy = DisplayOfScreen (screen);
+ NSView *nsview = jwxyz_window_view (xwindow);
+ XWindowAttributes xgwa;
+ int window_x, window_y;
+ Window unused;
+
+ // Figure out where this window is on the screen.
+ //
+ XGetWindowAttributes (dpy, xwindow, &xgwa);
+ XTranslateCoordinates (dpy, xwindow, RootWindowOfScreen (screen), 0, 0,
+ &window_x, &window_y, &unused);
+
+ // Grab only the rectangle of the screen underlying this window.
+ //
+ CGRect cgrect;
+ cgrect.origin.x = window_x;
+ cgrect.origin.y = window_y;
+ cgrect.size.width = xgwa.width;
+ cgrect.size.height = xgwa.height;
+
+ // Grab a screen shot of those windows below this one
+ // (hey, X11 can't do that!)
+ //
+ CGImageRef img =
+ CGWindowListCreateImage (cgrect,
+ kCGWindowListOptionOnScreenBelowWindow,
+ [[nsview window] windowNumber],
+ kCGWindowImageDefault);
+
+ // Render the grabbed CGImage into the Drawable.
+ if (img) {
+ jwxyz_draw_NSImage_or_CGImage (DisplayOfScreen (screen), drawable,
+ False, img, NULL, 0);
+ CGImageRelease (img);
+ }
+}
+
+#endif /* 10.5+ code */
+
+
/* Returns the EXIF rotation property of the image, if any.
*/
static int
if (!img)
return False;
- jwxyz_draw_NSImage (DisplayOfScreen (screen), drawable, img, geom_ret,
- exif_rotation (filename));
+ jwxyz_draw_NSImage_or_CGImage (DisplayOfScreen (screen), drawable,
+ True, img, geom_ret,
+ exif_rotation (filename));
[img release];
return True;
}
To compile on MacOS X:
- Use the included XCode project. Requires XCode 2.4 and MacOS X 10.4.0
+ Use the included XCode project. Requires XCode 3.1 and MacOS X 10.4.0
or newer.
Interested in writing a new screen saver?
===============================================================================
+Changes since 5.09: * Fixed some crashes and color problems on MacOS 10.6.
+ * Retired `hypercube' and `hyperball', which are
+ redundant with `polytopes'.
Changes since 5.08: * Ported to MacOS 10.6, including various 64-bit fixes.
* New hack, `rubikblocks'.
* Fixed another potential RANDR crash.
To compile on MacOS, use the XCode project included in the source
distribution. You shouldn't need to have X11 installed, and shouldn't
- need to run "configure" first. MacOS 10.4.0 and XCode 2.5 or newer are
+ need to run "configure" first. MacOS 10.4.0 and XCode 3.1 or newer are
required.
==========================================================================
demo-Gtk.o: XScreenSaver_ad.h
demo-Xm.o: XScreenSaver_Xm_ad.h
+xscreensaver.o: XScreenSaver_ad.h
+xscreensaver-getimage.o: XScreenSaver_ad.h
xscreensaver-getimage: $(GETIMG_OBJS)
$(CC) $(LDFLAGS) -o $@ $(GETIMG_OBJS) $(GETIMG_LIBS) -lm
! a screen saver and locker for the X window system
! by Jamie Zawinski
!
-! version 5.09
-! 03-Sep-2009
+! version 5.10
+! 07-Sep-2009
!
! See "man xscreensaver" for more info. The latest version is always
! available at http://www.jwz.org/xscreensaver/
greynetic -root \n\
helix -root \n\
hopalong -root \n\
-- hypercube -root \n\
imsmap -root \n\
- noseguy -root \n\
- pyro -root \n\
xflame -root \n\
xmatrix -root \n\
@GL_KLUDGE@ GL: gflux -root \n\
-- hyperball -root \n\
- nerverot -root \n\
xrayswarm -root \n\
xspirograph -root \n\
greynetic -root \\n\
helix -root \\n\
hopalong -root \\n\
-- hypercube -root \\n\
imsmap -root \\n\
- noseguy -root \\n\
- pyro -root \\n\
xflame -root \\n\
xmatrix -root \\n\
GL: gflux -root \\n\
-- hyperball -root \\n\
- nerverot -root \\n\
xrayswarm -root \\n\
xspirograph -root \\n\
EXES = attraction blitspin bouboule braid decayscreen deco \
drift flame galaxy grav greynetic halo \
- helix hopalong hypercube ifs imsmap julia kaleidescope \
+ helix hopalong ifs imsmap julia kaleidescope \
maze moire noseguy pedal \
penrose pyro qix rocks rorschach sierpinski slidescreen \
slip strange swirl goop starfish munch \
demon loop penetrate deluxe compass squiral xflame \
wander spotlight phosphor xmatrix petri shadebobs \
ccurve blaster bumps ripples xspirograph \
- nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer \
+ nerverot xrayswarm zoom whirlwindwarp rotzoomer \
speedmine vermiculate twang apollonian euler2d \
polyominoes thornbird fluidballs anemone halftone \
metaballs eruption popsquares barcode piecewise cloudlife \
@JPEG_EXES@
JPEG_EXES = webcollage-helper
-RETIRED_EXES = ant bubbles critical flag forest laser lightning lisa \
- lissie lmorph rotor sphere spiral t3d vines whirlygig \
- worm xsublim juggle
+RETIRED_EXES = ant bubbles critical flag forest hyperball hypercube laser \
+ lightning lisa lissie lmorph rotor sphere spiral t3d vines \
+ whirlygig worm xsublim juggle
HACK_OBJS_1 = fps.o $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
$(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o @XMU_OBJS@
drift.man epicycle.man euler2d.man fadeplot.man \
flame.man flow.man fluidballs.man galaxy.man \
goop.man grav.man greynetic.man halo.man helix.man \
- hopalong.man hyperball.man hypercube.man ifs.man imsmap.man \
+ hopalong.man ifs.man imsmap.man \
interference.man julia.man \
kaleidescope.man kumppa.man \
loop.man maze.man moire.man \
RETIRED_MEN = ant.man bubbles.man critical.man flag.man forest.man \
laser.man lightning.man lisa.man lissie.man lmorph.man \
rotor.man sphere.man spiral.man t3d.man vines.man \
- whirlygig.man worm.man xsublim.man juggle.man
+ whirlygig.man worm.man xsublim.man juggle.man \
+ hypercube.man hyperball.man
STAR = *
EXTRAS = README Makefile.in xml2man.pl m6502.sh .gdbinit \
VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \
vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
-TARFILES = $(SRCS) $(HDRS) $(SCRIPTS) $(MEN) $(EXTRAS) $(VMSFILES)
+TARFILES = $(SRCS) $(HDRS) $(SCRIPTS) $(MEN) $(RETIRED_MEN) \
+ $(EXTRAS) $(VMSFILES)
default: all
UTILS_SRC="$(UTILS_SRC)" \
$(srcdir)/m6502.sh m6502.h $(srcdir)/images/m6502/*.asm
+m6502.o: m6502.h
m6502: m6502.o asm6502.o $(HACK_OBJS) $(ATV)
$(CC_HACK) -o $@ $@.o asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS)
/*
- * Copyright (c) 2004, 2007 Steve Sundstrom
+ * Copyright (c) 2004-2009 Steve Sundstrom
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
values tuned for it draw the screen in a blink on Linux. Therefore we
draw 1/200th of the screen with each update and sleep, if necessary */
st->lpu = (st->dialog) ? st->li/50 : st->li/200;
+ if (!st->lpu) st->lpu = 1;
st->bi=1;
st->mode=MODE_ERASE;
}
int mse, usleep;
gettimeofday(&st->time, NULL);
- switch (st->mode) {
+
+ /* If the window is too small, do nothing, sorry! */
+ if (st->xgwa.width > 20 && st->xgwa.height > 20) {
+ switch (st->mode) {
case MODE_CREATE:
_init_screen(st);
_create_screen(st);
case MODE_DRAW:
_draw_lines(st);
break;
+ }
}
mse=_mselapsed(st);
usleep = ((!st->ii) && (st->mode==MODE_CREATE)) ? 0 :
--- /dev/null
+.TH XScreenSaver 1 "" "X Version 11"
+.SH NAME
+ant - cellular automaton.
+.SH SYNOPSIS
+.B ant
+[\-display \fIhost:display.screen\fP]
+[\-visual \fIvisual\fP]
+[\-window]
+[\-install]
+[\-noinstall]
+[\-root]
+[\-eyes]
+[\-no-eyes]
+[\-truchet]
+[\-no-truchet]
+[\-sharpturn]
+[\-no-sharpturn]
+[\-delay \fInumber\fP]
+[\-cycles \fInumber\fP]
+[\-count \fInumber\fP]
+[\-size \fInumber\fP]
+[\-neighbors 3]
+[\-neighbors 4]
+[\-neighbors 6]
+[\-neighbors 9]
+[\-neighbors 12]
+[\-ncolors \fInumber\fP]
+[\-fps]
+.SH DESCRIPTION
+A cellular automaton that is really a two-dimensional Turing machine: as
+the heads ("ants") walk along the screen, they change pixel values in
+their path. Then, as they pass over changed pixels, their behavior is
+influenced.
+.SH OPTIONS
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-sharpturns | \-no-sharpturns
+Whether to do sharp turns.
+.TP 8
+.B \-truchet | \-no-truchet
+Whether to use truchet lines.
+.TP 8
+.B \-eyes | \-no-eyes
+Whether to draw eyes on the ants.
+.TP 8
+.B \-delay \fInumber\fP
+Per-frame delay, in microseconds. Default: 1000 (0.0001 seconds.).
+.TP 8
+.B \-cycles \fInumber\fP
+How long to wait until resetting. 0 - 800000. Default: 40000.
+.TP 8
+.B \-count \fInumber\fP
+Ants Count. -20 - 20. Default: -3.
+.TP 8
+.B \-size \fInumber\fP
+Ant Size. -18 - 18. Default: -12.
+.TP 8
+.B \-neighbors \fIN\fP
+How many neighbors each cell has. Legal values are 3, 4, 6, 9, and 12.
+.TP 8
+.B \-ncolors \fInumber\fP
+Number of colors. Default: 64.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2002 by David Bagley. 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 representations are made about the
+suitability of this software for any purpose. It is provided "as is" without
+express or implied warranty.
+.SH AUTHOR
+David Bagley.
--- /dev/null
+.de EX \"Begin example
+.ne 5
+.if n .sp 1
+.if t .sp .5
+.nf
+.in +.5i
+..
+.de EE
+.fi
+.in -.5i
+.if n .sp 1
+.if t .sp .5
+..
+.TH XScreenSaver 1 "14-Dec-95" "X Version 11"
+.SH NAME
+bubbles - frying pan / soft drink simulation
+.SH SYNOPSIS
+.B bubbles
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-simple] [\-broken] [\-3D] [\-rise|\-drop] [-trails]
+[\-fps]
+.SH DESCRIPTION
+\fIBubbles\fP sprays lots of little random bubbles all over the window which
+then grow until they reach their maximum size and go pop. The inspiration
+for this was watching little globules of oil on the bottom of a frying pan
+and it also looks a little like bubbles in fizzy soft drink. The default
+mode uses fancy ray-traced bubbles but there is also a mode which just draws
+circles in case the default mode is too taxing on your hardware.
+.SH OPTIONS
+Depending on how your
+.I bubbles
+was compiled, it accepts the following options:
+.TP 8
+.B \-foreground
+Colour of circles if \fI\-simple\fP mode is selected.
+.TP 8
+.B \-background
+Colour of window background.
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-delay microseconds
+How much of a delay should be introduced between steps of the animation.
+Default 800, or about 800 microsecond. Actually, this is the delay between each
+group of 15 new bubbles since such a delay between each step results in a
+very slow animation rate.
+.TP 8
+.B \-nodelay
+Same as \fI\-delay 0\fP.
+.TP 8
+.B \-simple
+Don't use the default fancy pixmap bubbles. Just draw circles instead.
+This may give more bearable performance if your hardware wasn't made for
+this sort of thing.
+.TP 8
+.B \-broken
+Don't hide bubbles when they pop. This was a bug during development
+but the results were actually quite attractive.
+.TP 8
+.B \-3D
+Normally, the simulation is done completely in two dimensions. When a
+bubble swallows up another bubble, the areas of each are added to get
+the area of the resulting bubble. This option changes the algorithm
+to instead add volume (imagining each to be a sphere in 3D space). The
+whole thing looks more realistic but I find it attracts attention to
+the flickering of each bubble as they are move and are redrawn. Your
+mileage may vary.
+.TP 8
+.B \-quiet
+Don't print messages explaining why one or several command line options
+were ignored. This is disabled by default.
+.TP 8
+.B \-rise | \-drop
+.TP 8
+.B \-trails
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH NOTES
+If you find the pace of things too slow, remember that there is a delay
+even though you specify no \fI\-delay\fP option. Try using \fI\-nodelay\fP
+although beware of the effects of irritation of other users if you're on a
+shared system as you bleed their CPU time away.
+
+Some tools to assist in creation of new bubbles are included in the source
+distribution. These can either be loaded with the \fI\-file\fP or
+\fI\-directory\fP options (if available) or they can be used in place
+of the distributed default bubble (bubble_default.c).
+You might like to copy these scripts to a permanent location and
+use them. Read bubbles.README.
+
+Rendered bubbles are not supported on monochrome displays. I'm not
+convinced that small bubbles, even dithered properly are going to look
+like anything more than a jumble of random dots.
+.SH BUGS
+There is a delay before something appears on the screen when using
+rendered bubbles. The XPM library seems to take a \fBlong\fP time to make
+pixmaps out of raw data. This can be irritating on slower systems.
+
+The movement of the bubbles looks jerky if an incomplete set of bubbles
+is used.
+
+The hide/display algorithm could do with some work to avoid flickering
+when \fI\-nodelay\fP is set.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH DISTRIBUTION POLICY
+This work is Copyright \(co 1995, 1996 by James Macnicol. 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 representations are made about the suitability of
+this software for any purpose. It is provided "as is" without express
+or implied warranty.
+.SH AUTHOR
+James Macnicol <james.macnicol@mailexcite.com>
#!/usr/bin/perl -w
-# Copyright © 2008 Jamie Zawinski <jwz@jwz.org>
+# Copyright © 2008, 2009 Jamie Zawinski <jwz@jwz.org>
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
use strict;
my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.2 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/;
+my $version = q{ $Revision: 1.3 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/;
my $verbose = 0;
my ($saver) = @_;
# kludge
- return 0 if ($saver =~ m/(-helper|hypertorus|polytopes)$/);
+ return 0 if ($saver =~ m/(-helper)$/);
my ($src_opts, $switchmap) = parse_src ($saver);
my (@xml_opts) = parse_xml ($saver, $switchmap);
a screen saver and locker for the X window system
by Jamie Zawinski
- version 5.09
- 03-Sep-2009
+ version 5.10
+ 07-Sep-2009
http://www.jwz.org/xscreensaver/
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 4.22.
+
A cellular automaton that is really a two-dimensional Turing machine:
as the heads ("ants") walk along the screen, they change pixel
values in their path. Then, as they pass over changed pixels, their
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
This simulates the kind of bubble formation that happens when water
-boils:small bubbles appear, and as they get closer to each other,
+boils: small bubbles appear, and as they get closer to each other,
they combine to form larger bubbles, which eventually pop.
Written by James Macnicol; 1996.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Draws a system of self-organizing lines. It starts out as random
squiggles, but after a few iterations, order begins to appear.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
This draws a waving colored flag, that undulates its way around the
screen. The flag can contain arbitrary text and images. By default,
it displays either the current system name and OS type, or a picture
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Fractal trees.
Written by Peter Baumung; 1997.
</hgroup>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Draws an animation of sprinkling fire-like 3D triangles in a landscape
filled with trees.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.10. It has been replaced by the more general "Polytopes"
+screen saver, which can display this object as well as others. The
+Polytopes "120-cell" object corresponds to this one.
+
Hyperball is to hypercube as dodecahedron is to cube: this displays
a 2D projection of the sequence of 3D objects which are the projections
of the 4D analog to the dodecahedron. Technically, it is a "120 cell
polytope".
-See also "polytopes" for a more general version of this using OpenGL.
-
http://en.wikipedia.org/wiki/Hypercube
http://en.wikipedia.org/wiki/Regular_polytope
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.10. It has been replaced by the more general "Polytopes"
+screen saver, which can display this object as well as others.
+
This displays 2D projections of the sequence of 3D objects which are
the projections of the 4D analog to the cube: as a square is composed
of four lines, each touching two others; and a cube is composed of
visualize the rotation, it uses a different color for the edges of
each face. Don't think about it too long, or your brain will melt.
-See also "polytopes" for a more general version of this using OpenGL.
-
http://en.wikipedia.org/wiki/Hypercube
http://en.wikipedia.org/wiki/Regular_polytope
<hgroup>
<select id="display-mode">
- <option id="wire" _label="Wireframe mesh" arg-set="-mode 0"/>
- <option id="surface" _label="Solid surface" arg-set="-mode 1"/>
- <option id="transparent" _label="Transparent surface"/>
+ <option id="wire" _label="Wireframe mesh"
+ arg-set="-mode wireframe"/>
+ <option id="surface" _label="Solid surface"/>
+ <option id="transparent" _label="Transparent surface"
+ arg-set="-mode transparent"/>
</select>
<select id="appearance">
<option id="solid" _label="Solid object"
- arg-set="-appearance 0"/>
+ arg-set="-appearance solid"/>
<option id="bands" _label="See-through bands"/>
<option id="bands" _label="See-through spirals (1 spiral)"
- arg-set="-appearance 3"/>
+ arg-set="-appearance spirals-1"/>
<option id="bands" _label="See-through spirals (2 spirals)"
- arg-set="-appearance 4"/>
+ arg-set="-appearance spirals-2"/>
<option id="bands" _label="See-through spirals (4 spirals)"
- arg-set="-appearance 5"/>
+ arg-set="-appearance spirals-4"/>
<option id="bands" _label="See-through spirals (8 spirals)"
- arg-set="-appearance 6"/>
+ arg-set="-appearance spirals-8"/>
<option id="bands" _label="See-through spirals (16 spirals)"
- arg-set="-appearance 7"/>
+ arg-set="-appearance spirals-16"/>
</select>
</hgroup>
<hgroup>
<select id="colors">
- <option id="twosided" _label="Two-sided"/>
- <option id="colorwheel" _label="Color wheel" arg-set="-colorwheel"/>
+ <option id="twosided" _label="Two-sided" arg-set="-twosided"/>
+ <option id="colorwheel" _label="Color wheel"/>
</select>
<select id="projection3d">
</hgroup>
<_description>
-
This shows a rotating Clifford Torus: a torus lying on the
"surface" of a 4D hypersphere. Inspired by Thomas Banchoff's book
"Beyond the Third Dimension: Geometry, Computer Graphics, and Higher
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
-Draws a juggling stick-man. See also "Juggler3D".
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.09. It has been replaced by the "Juggler3D" screen saver.
http://en.wikipedia.org/wiki/Siteswap
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Moving radiating lines, that look vaguely like scanning laser beams.
(Frankie say relax.)
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Crackling fractal lightning bolts.
Written by Keith Romberg; 1997.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Lissajous loops.
http://en.wikipedia.org/wiki/Lissajous_curve
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Lissajous loops. This one draws the progress of circular shapes along a path.
http://en.wikipedia.org/wiki/Lissajous_curve
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
This generates random spline-ish line drawings and morphs between
them.
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="mismunch" _label="Mismunch">
+
+ <command arg="-root"/>
+
+ <number id="delay" type="slider" arg="-delay %"
+ _label="Frame rate" _low-label="Low" _high-label="High"
+ low="0" high="100000" default="10000"
+ convert="invert"/>
+
+ <number id="duration" type="slider" arg="-clear %"
+ _label="Duration" _low-label="Short" _high-label="Long"
+ low="1" high="200" default="65"/>
+
+ <number id="simultaneous" type="slider" arg="-simul %"
+ _label="Simultaneous squares" _low-label="One" _high-label="Many"
+ low="1" high="20" default="5"/>
+
+ <select id="mode">
+ <option id="xor" _label="XOR"/>
+ <option id="solid" _label="Solid" arg-set="-no-xor"/>
+ </select>
+
+ <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+ <_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08. It was merged with the "Munch" screen saver.
+
+Munching errors! This is a creatively broken misimplementation of the
+classic munching squares graphics hack. See the "Munch" screen saver
+for the original.
+
+http://en.wikipedia.org/wiki/HAKMEM
+http://en.wikipedia.org/wiki/Munching_square
+
+Written by Steven Hazel; 2004.
+ </_description>
+</screensaver>
<hgroup>
<select id="display-mode">
- <option id="wire" _label="Wireframe mesh" arg-set="-mode 0"/>
- <option id="surface" _label="Solid surface" arg-set="-mode 1"/>
+ <option id="wire" _label="Wireframe mesh"
+ arg-set="-mode wireframe"/>
+ <option id="surface" _label="Solid surface"
+ arg-set="-mode surface"/>
<option id="transparent" _label="Transparent surface"/>
</select>
<select id="polytope">
<option id="random" _label="Random object"/>
<option id="cell-5" _label="5-cell (hyper-tetrahedron)"
- arg-set="-polytope 0"/>
+ arg-set="-polytope 5-cell"/>
<option id="cell-8" _label="8-cell (hypercube / tesseract)"
- arg-set="-polytope 1"/>
+ arg-set="-polytope 8-cell"/>
<option id="cell-16" _label="16-cell (hyper-octahedron)"
- arg-set="-polytope 2"/>
+ arg-set="-polytope 16-cell"/>
<option id="cell-24" _label="24-cell"
- arg-set="-polytope 3"/>
+ arg-set="-polytope 24-cell"/>
<option id="cell-120" _label="120-cell"
- arg-set="-polytope 4"/>
+ arg-set="-polytope 120-cell"/>
<option id="cell-600" _label="600-cell"
- arg-set="-polytope 5"/>
+ arg-set="-polytope 600-cell"/>
</select>
</hgroup>
<hgroup>
<select id="colors">
- <option id="single" _label="Single color"
- arg-set="-single-color"/>
+ <option id="single" _label="Single color" arg-set="-single-color"/>
<option id="depth" _label="Colors By 4D Depth"/>
</select>
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Draws a line segment moving along a complex spiraling curve.
Written by Tom Lawrence; 1997.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Draws shaded spheres in multiple colors.
Written by Tom Duff and Jamie Zawinski; 1982, 1997.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Moving circular moire patterns.
Written by Peter Schmitzberger; 1997.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Draws a working analog clock composed of floating, throbbing bubbles.
Written by Bernd Paysan; 1999.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Generates a continuous sequence of small, curvy geometric patterns.
Written by Tracy Camp and David Hansen; 1997.
</hgroup>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Draws zooming chains of sinusoidal spots.
Written by Ashton Trey Belew; 2001.
<boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
<_description>
+This screen saver was removed from the XScreenSaver distribution as of
+version 5.08.
+
Draws multicolored worms that crawl around the screen.
Written by Brad Taylor, Dave Lemke, Boris Putanec, and Henrik Theiling; 1991.
--- /dev/null
+.TH XScreenSaver 1 "08 Feb 2000" "X Version 11"
+.SH NAME
+critical - Draw a system showing self-organizing criticality
+.SH SYNOPSIS
+.B critical
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-delay \fIseconds\fP] [\-random \fIboolean\fP] [\-ncolors \fIint\fP] [\-offset \fIint\fP]
+[\-fps]
+.SH DESCRIPTION
+The \fIcritical\fP program displays a self-organizing critical system
+that gradually emerges from chaos.
+
+\fIcritical\fP performs a simulation on a two-dimensional array of
+integers. The array is initialized to random values. On each
+iteration, it draws a line to the array position with the greatest
+value. It then replaces that location and the eight neighboring
+locations with randomly-selected values.
+
+The lines are initially random, but over time a chaotic
+self-organizing system evolves: areas of the screen which happen to
+have lower values are less likely to be updated to new values, and so
+the line tends to avoid those areas. Eventually, the histogram of
+changes approaches the power-law curve typical of such systems.
+
+The simplest documented self-organizing system is the one-dimensional
+equivalent of \fIcritical\fP.
+
+I heard about this algorithm second-hand: apparently there was an
+article in \fIScientific American\fP describing it sometime in 1997.
+.SH OPTIONS
+.I critical
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-delay \fIusecs\fP
+Number of microseconds to wait after drawing each line.
+.TP 8
+.B \-random \fIboolean\fP
+Whether to use randomly selected colours rather than a cycle around
+the colour wheel.
+.TP 8
+.B \-offset \fIinteger\fP
+The maximum random radius increment to use.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be allocated in the color ramp (note that this
+value interacts with \fIoffset\fP.)
+.TP 8
+.B \-trail \fIinteger\fP
+Length of the trail: between 5 and 100 is nice.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.BR xscreensaver-command (1)
+.BR xscreensaver-demo (1)
+.SH COPYRIGHT
+Copyright \(co 1998 by Martin Pool.
+
+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 representations are made about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
+.SH AUTHOR
+Martin Pool <mbp@humbug.org.au>, 1998-2000. Based in part on the
+XScreenSaver code by Jamie Zawinski <jwz@jwz.org>.
--- /dev/null
+.TH XScreenSaver 1 "24-May-97" "X Version 11"
+.SH NAME
+flag - draws a waving flag, containing text or an image
+.SH SYNOPSIS
+.B flag
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP] [\-cycles \fIinteger\fP] [\-size \fIinteger\fP] [\-text \fIstring\fP] [\-font \fIfont\fP] [\-bitmap \fIxbm-file\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIflag\fP program draws a waving flag that contains text or a bitmap.
+.SH OPTIONS
+.I flag
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 200.
+.TP 8
+.B \-cycles \fIinteger\fP
+
+.TP 8
+.B \-count \fIinteger\fP
+
+.TP 8
+.B \-size \fIinteger\fP
+How large the pixels in the flag should be, from 1 to 8.
+If this is a negative number, the pixel size is chosen randomly
+from the range 1 to -size. Default -7.
+.TP 8
+.B \-text \fItext\fP
+The text to display in the flag. Multiple lines of text are allowed;
+the lines will be displayed centered atop one another. Default: none.
+If the text is the magic string \fI"(default)"\fP, then the text used
+will be the local machine name; a newline; and the local OS version.
+.TP 8
+.B \-bitmap \fIxbm-file\fP
+The bitmap to display in the flag; this must be an XBM file (color XPMs
+are not allowed.) Default: none. If the bitmap is the magic
+string \fI"(default)"\fP, then the bitmap used will be a charming
+little picture of J. R. "Bob" Dobbs.
+
+If neither \fI\-text\fP nor \fI\-bitmap\fP are specified, then either
+the builtin text or the builtin bitmap will be chosen randomly.
+.TP 8
+.B \-font \fIfont\fP
+The font in which to draw the text; the default is
+"-*-helvetica-bold-r-*-240-*".
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1996 Charles Vidal.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+
+.SH AUTHOR
+Charles Vidal <vidalc@univ-mlv.fr>, 1996.
+
+Ability to run standalone or with \fIxscreensaver\fP, and the \-text
+and \-bitmap options, added by Jamie Zawinski <jwz@jwz.org>, 24-May-97.
--- /dev/null
+.TH XScreenSaver 1 "27-May-97" "X Version 11"
+.SH NAME
+forest - draws a fractal forest
+.SH SYNOPSIS
+.B forest
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIforest\fP program draws a fractal forest.
+.SH OPTIONS
+.I forest
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 20.
+
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1995 by Pascal Pensa.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Pascal Pensa <pensa@aurora.unice.fr>, 1995.
+
+Ability to run standalone or with \fIxscreensaver\fP added by
+Jamie Zawinski <jwz@jwz.org>, 27-May-97.
RETIRED_MEN = glforestfire.man
EXTRAS = README Makefile.in dxf2gl.pl molecules.sh starwars.txt
-TARFILES = $(SRCS) $(HDRS) $(MEN) $(EXTRAS)
+TARFILES = $(SRCS) $(HDRS) $(MEN) $(RETIRED_MEN) $(EXTRAS)
default: all
$(srcdir)/molecules.sh molecules.h $(HACK_SRC)/images/molecules/*.pdb
MOLECULE_OBJS=sphere.o tube.o $(HACK_TRACK_OBJS)
+molecule.o: molecules.h
molecule: molecule.o $(MOLECULE_OBJS)
$(CC_HACK) -o $@ $@.o $(MOLECULE_OBJS) $(HACK_LIBS)
--- /dev/null
+.de EX \"Begin example
+.ne 5
+.if n .sp 1
+.if t .sp .5
+.nf
+.in +.5i
+..
+.de EE
+.fi
+.in -.5i
+.if n .sp 1
+.if t .sp .5
+..
+.TH XScreenSaver 1 "03-Oct-01" "X Version 11"
+.SH NAME
+glforestfire - draws a GL animation of sprinkling fire-like 3D triangles
+.SH SYNOPSIS
+.B glforestfire
+[\-display \fIhost:display.screen\fP] [\-window] [\-root]
+[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
+[\-count \fInumber_of_particles\fP]
+[\-trees \fInumber_of_trees\fP]
+[\-size \fIviewport_size\fP]
+[\-texture] [\-no-texture]
+[\-shadows] [\-no-shadows]
+[\-fog] [\-no-fog]
+[\-wireframe] [\-no-wireframe]
+[\-wander] [\-no-wander]
+[\-trackmouse] [\-no-trackmouse]
+[\-fps]
+.SH DESCRIPTION
+The \fIglforestfire\fP program draws an animation of sprinkling fire-like 3D triangles in
+a landscape filled with trees.
+.SH OPTIONS
+.I glforestfire
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-fps
+Display the current frame rate, CPU load, and polygon count.
+.TP 8
+.B \-trees \fInumber_of_trees\fP\fP
+Specify how much trees are drawn in the landscape.
+.TP 8
+.B \-count \fInumber_of_particles\fP\fP
+Specify how much fire particles are drawn. A very special case is 0
+wich means that you get
+.B rain
+!
+.TP 8
+.B \-size \fIviewport_size\fP\fP
+Viewport of GL scene is specified size if greater than 32 and less than screensize. Default value is 0, meaning full screensize.
+.TP 8
+.B \-texture
+Show a textured ground and the trees. This is the default.
+.TP 8
+.B \-no\-texture
+Disables texturing the landscape. This implies that no trees are drawn.
+.TP 8
+.B \-shadows
+Show a shadow for each particle on the ground. This is the default.
+.TP 8
+.B \-no\-shadows
+Disables the drawing of the shadows.
+.TP 8
+.B \-fog
+Show a fog in the distance.
+.TP 8
+.B \-no\-fog
+Disables the fog. This is the default.
+.TP 8
+.B \-wander
+Move the observer around the landscape. This is the default.
+.TP 8
+.B \-no\-wander
+Keep the fire centered on the screen.
+.TP 8
+.B \-trackmouse
+Let the mouse be a joystick to change the view of the landscape.
+This implies
+.I \-no\-wander.
+.TP 8
+.B \-no\-trackmouse
+Disables mouse tracking. This is the default.
+.TP 8
+.B \-wire
+Draw a wireframe rendition of the fire: this will consist only of
+single-pixel lines for the triangles.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2001 by Eric Lassauge.
+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 representations are made about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
+
+The original code for this hack was written by David Bucciarelli
+(tech.hmw@plus.it) and could be found in the demo package
+of Mesa (Mesa-3.2/3Dfx/demos/). This hack is the result of the merge of
+two of the David's demos (fire and rain).
+
+.SH AUTHOR
+David Bucciarelli <tech.hmw@plus.it>
+Eric Lassauge <lassauge@mail.dotcom.fr>
static const char sccsid[] = "@(#)hypertorus.c 1.2 05/09/28 xlockmore";
#endif
-/* Copyright (c) 2003-2007 Carsten Steger <carsten@mirsanmir.org>. */
+/* Copyright (c) 2003-2009 Carsten Steger <carsten@mirsanmir.org>. */
/*
* Permission to use, copy, modify, and distribute this software and its
* C. Steger - 05/09/28: Added the spirals appearance mode
* and trackball support
* C. Steger - 07/01/23: Improved 4d trackball support
+ * C. Steger - 09/08/22: Removed check-config.pl warnings
*/
/*
#endif
#define DISP_WIREFRAME 0
-#define DISP_WIREFRAME_STR "0"
#define DISP_SURFACE 1
-#define DISP_SURFACE_STR "1"
#define DISP_TRANSPARENT 2
-#define DISP_TRANSPARENT_STR "2"
#define APPEARANCE_SOLID 0
-#define APPEARANCE_SOLID_STR "0"
#define APPEARANCE_BANDS 1
-#define APPEARANCE_BANDS_STR "1"
#define APPEARANCE_SPIRALS 2
-#define APPEARANCE_SPIRALS_STR "2"
-#define APPEARANCE_SPIRALS_1 3
-#define APPEARANCE_SPIRALS_1_STR "3"
-#define APPEARANCE_SPIRALS_2 4
-#define APPEARANCE_SPIRALS_2_STR "4"
-#define APPEARANCE_SPIRALS_4 5
-#define APPEARANCE_SPIRALS_4_STR "5"
-#define APPEARANCE_SPIRALS_8 6
-#define APPEARANCE_SPIRALS_8_STR "6"
-#define APPEARANCE_SPIRALS_16 7
-#define APPEARANCE_SPIRALS_16_STR "7"
#define COLORS_TWOSIDED 0
-#define COLORS_TWOSIDED_STR "0"
#define COLORS_COLORWHEEL 1
-#define COLORS_COLORWHEEL_STR "1"
#define DISP_3D_PERSPECTIVE 0
-#define DISP_3D_PERSPECTIVE_STR "0"
#define DISP_3D_ORTHOGRAPHIC 1
-#define DISP_3D_ORTHOGRAPHIC_STR "1"
#define DISP_4D_PERSPECTIVE 0
-#define DISP_4D_PERSPECTIVE_STR "0"
#define DISP_4D_ORTHOGRAPHIC 1
-#define DISP_4D_ORTHOGRAPHIC_STR "1"
-
-#define DALPHA 1.1
-#define DALPHA_STR "1.1"
-#define DBETA 1.3
-#define DBETA_STR "1.3"
-#define DDELTA 1.5
-#define DDELTA_STR "1.5"
-#define DZETA 1.7
-#define DZETA_STR "1.7"
-#define DETA 1.9
-#define DETA_STR "1.9"
-#define DTHETA 2.1
-#define DTHETA_STR "2.1"
-
-#define DEF_DISPLAY_MODE DISP_TRANSPARENT_STR
-#define DEF_APPEARANCE APPEARANCE_BANDS_STR
-#define DEF_COLORS COLORS_COLORWHEEL_STR
-#define DEF_3D_PROJECTION DISP_3D_PERSPECTIVE_STR
-#define DEF_4D_PROJECTION DISP_4D_PERSPECTIVE_STR
-#define DEF_DALPHA DALPHA_STR
-#define DEF_DBETA DBETA_STR
-#define DEF_DDELTA DDELTA_STR
-#define DEF_DZETA DZETA_STR
-#define DEF_DETA DETA_STR
-#define DEF_DTHETA DTHETA_STR
+
+#define DEF_DISPLAY_MODE "surface"
+#define DEF_APPEARANCE "bands"
+#define DEF_COLORS "colorwheel"
+#define DEF_PROJECTION_3D "perspective"
+#define DEF_PROJECTION_4D "perspective"
+#define DEF_SPEEDWX "1.1"
+#define DEF_SPEEDWY "1.3"
+#define DEF_SPEEDWZ "1.5"
+#define DEF_SPEEDXY "1.7"
+#define DEF_SPEEDXZ "1.9"
+#define DEF_SPEEDYZ "2.1"
#ifdef STANDALONE
# define DEFAULTS "*delay: 25000 \n" \
#endif
+static char *mode;
static int display_mode;
+static char *appear;
static int appearance;
static int num_spirals;
+static char *color_mode;
static int colors;
+static char *proj_3d;
static int projection_3d;
+static char *proj_4d;
static int projection_4d;
static float speed_wx;
static float speed_wy;
static XrmOptionDescRec opts[] =
{
- {"-mode", ".hypertorus.displayMode", XrmoptionSepArg, 0 },
- {"-wireframe", ".hypertorus.displayMode", XrmoptionNoArg,
- DISP_WIREFRAME_STR },
- {"-surface", ".hypertorus.displayMode", XrmoptionNoArg,
- DISP_SURFACE_STR },
- {"-transparent", ".hypertorus.displayMode", XrmoptionNoArg,
- DISP_TRANSPARENT_STR },
-
- {"-appearance", ".hypertorus.appearance", XrmoptionSepArg, 0 },
- {"-solid", ".hypertorus.appearance", XrmoptionNoArg,
- APPEARANCE_SOLID_STR },
- {"-bands", ".hypertorus.appearance", XrmoptionNoArg,
- APPEARANCE_BANDS_STR },
- {"-spirals-1", ".hypertorus.appearance", XrmoptionNoArg,
- APPEARANCE_SPIRALS_1_STR },
- {"-spirals-2", ".hypertorus.appearance", XrmoptionNoArg,
- APPEARANCE_SPIRALS_2_STR },
- {"-spirals-4", ".hypertorus.appearance", XrmoptionNoArg,
- APPEARANCE_SPIRALS_4_STR },
- {"-spirals-8", ".hypertorus.appearance", XrmoptionNoArg,
- APPEARANCE_SPIRALS_8_STR },
- {"-spirals-16", ".hypertorus.appearance", XrmoptionNoArg,
- APPEARANCE_SPIRALS_16_STR },
- {"-twosided", ".hypertorus.colors", XrmoptionNoArg,
- COLORS_TWOSIDED_STR },
- {"-colorwheel", ".hypertorus.colors", XrmoptionNoArg,
- COLORS_COLORWHEEL_STR },
- {"-perspective-3d", ".hypertorus.projection3d", XrmoptionNoArg,
- DISP_3D_PERSPECTIVE_STR },
- {"-orthographic-3d", ".hypertorus.projection3d", XrmoptionNoArg,
- DISP_3D_ORTHOGRAPHIC_STR },
- {"-perspective-4d", ".hypertorus.projection4d", XrmoptionNoArg,
- DISP_4D_PERSPECTIVE_STR },
- {"-orthographic-4d", ".hypertorus.projection4d", XrmoptionNoArg,
- DISP_4D_ORTHOGRAPHIC_STR },
- {"-speed-wx", ".hypertorus.speedwx", XrmoptionSepArg, 0 },
- {"-speed-wy", ".hypertorus.speedwy", XrmoptionSepArg, 0 },
- {"-speed-wz", ".hypertorus.speedwz", XrmoptionSepArg, 0 },
- {"-speed-xy", ".hypertorus.speedxy", XrmoptionSepArg, 0 },
- {"-speed-xz", ".hypertorus.speedxz", XrmoptionSepArg, 0 },
- {"-speed-yz", ".hypertorus.speedyz", XrmoptionSepArg, 0 }
+ {"-mode", ".displayMode", XrmoptionSepArg, 0 },
+ {"-wireframe", ".displayMode", XrmoptionNoArg, "wireframe" },
+ {"-surface", ".displayMode", XrmoptionNoArg, "surface" },
+ {"-transparent", ".displayMode", XrmoptionNoArg, "transparent" },
+ {"-appearance", ".appearance", XrmoptionSepArg, 0 },
+ {"-solid", ".appearance", XrmoptionNoArg, "solid" },
+ {"-bands", ".appearance", XrmoptionNoArg, "bands" },
+ {"-spirals-1", ".appearance", XrmoptionNoArg, "spirals-1" },
+ {"-spirals-2", ".appearance", XrmoptionNoArg, "spirals-2" },
+ {"-spirals-4", ".appearance", XrmoptionNoArg, "spirals-4" },
+ {"-spirals-8", ".appearance", XrmoptionNoArg, "spirals-8" },
+ {"-spirals-16", ".appearance", XrmoptionNoArg, "spirals-16" },
+ {"-twosided", ".colors", XrmoptionNoArg, "twosided" },
+ {"-colorwheel", ".colors", XrmoptionNoArg, "colorwheel" },
+ {"-perspective-3d", ".projection3d", XrmoptionNoArg, "perspective" },
+ {"-orthographic-3d", ".projection3d", XrmoptionNoArg, "orthographic" },
+ {"-perspective-4d", ".projection4d", XrmoptionNoArg, "perspective" },
+ {"-orthographic-4d", ".projection4d", XrmoptionNoArg, "orthographic" },
+ {"-speed-wx", ".speedwx", XrmoptionSepArg, 0 },
+ {"-speed-wy", ".speedwy", XrmoptionSepArg, 0 },
+ {"-speed-wz", ".speedwz", XrmoptionSepArg, 0 },
+ {"-speed-xy", ".speedxy", XrmoptionSepArg, 0 },
+ {"-speed-xz", ".speedxz", XrmoptionSepArg, 0 },
+ {"-speed-yz", ".speedyz", XrmoptionSepArg, 0 }
};
static argtype vars[] =
{
- { &display_mode, "displayMode", "DisplayMode",
- DEF_DISPLAY_MODE, t_Int },
- { &appearance, "appearance", "Appearance",
- DEF_APPEARANCE, t_Int },
- { &colors, "colors", "Colors",
- DEF_COLORS, t_Int },
- { &projection_3d, "projection3d", "Projection3d",
- DEF_3D_PROJECTION, t_Int },
- { &projection_4d, "projection4d", "Projection4d",
- DEF_4D_PROJECTION, t_Int },
- { &speed_wx, "speedwx", "Speedwx",
- DEF_DALPHA, t_Float},
- { &speed_wy, "speedwy", "Speedwy",
- DEF_DBETA, t_Float},
- { &speed_wz, "speedwz", "Speedwz",
- DEF_DDELTA, t_Float},
- { &speed_xy, "speedxy", "Speedxy",
- DEF_DZETA, t_Float},
- { &speed_xz, "speedxz", "Speedxz",
- DEF_DETA, t_Float},
- { &speed_yz, "speedyz", "Speedyz",
- DEF_DTHETA, t_Float}
+ { &mode, "displayMode", "DisplayMode", DEF_DISPLAY_MODE, t_String },
+ { &appear, "appearance", "Appearance", DEF_APPEARANCE, t_String },
+ { &color_mode, "colors", "Colors", DEF_COLORS, t_String },
+ { &proj_3d, "projection3d", "Projection3d", DEF_PROJECTION_3D, t_String },
+ { &proj_4d, "projection4d", "Projection4d", DEF_PROJECTION_4D, t_String },
+ { &speed_wx, "speedwx", "Speedwx", DEF_SPEEDWX, t_Float},
+ { &speed_wy, "speedwy", "Speedwy", DEF_SPEEDWY, t_Float},
+ { &speed_wz, "speedwz", "Speedwz", DEF_SPEEDWZ, t_Float},
+ { &speed_xy, "speedxy", "Speedxy", DEF_SPEEDXY, t_Float},
+ { &speed_xz, "speedxz", "Speedxz", DEF_SPEEDXZ, t_Float},
+ { &speed_yz, "speedyz", "Speedyz", DEF_SPEEDYZ, t_Float}
};
static OptionStruct desc[] =
static const GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
hypertorusstruct *hp = &hyper[MI_SCREEN(mi)];
- if (appearance >= APPEARANCE_SPIRALS_1)
- {
- num_spirals = 1<<(appearance-APPEARANCE_SPIRALS_1);
- appearance = APPEARANCE_SPIRALS;
- }
- else
- {
- num_spirals = 0;
- }
-
hp->alpha = 0.0;
hp->beta = 0.0;
hp->delta = 0.0;
hp->current_trackball = 0;
hp->button_pressed = False;
+ /* Set the display mode. */
+ if (!strcasecmp(mode,"wireframe") || !strcasecmp(mode,"0"))
+ {
+ display_mode = DISP_WIREFRAME;
+ }
+ else if (!strcasecmp(mode,"surface") || !strcasecmp(mode,"1"))
+ {
+ display_mode = DISP_SURFACE;
+ }
+ else if (!strcasecmp(mode,"transparent") || !strcasecmp(mode,"2"))
+ {
+ display_mode = DISP_TRANSPARENT;
+ }
+ else
+ {
+ display_mode = DISP_SURFACE;
+ }
+
+ /* Set the appearance. */
+ if (!strcasecmp(appear,"solid") || !strcasecmp(appear,"0"))
+ {
+ appearance = APPEARANCE_SOLID;
+ }
+ else if (!strcasecmp(appear,"bands") || !strcasecmp(appear,"1"))
+ {
+ appearance = APPEARANCE_BANDS;
+ num_spirals = 0;
+ }
+ else if (!strcasecmp(appear,"spirals-1") || !strcasecmp(appear,"3"))
+ {
+ appearance = APPEARANCE_SPIRALS;
+ num_spirals = 1;
+ }
+ else if (!strcasecmp(appear,"spirals-2") || !strcasecmp(appear,"4"))
+ {
+ appearance = APPEARANCE_SPIRALS;
+ num_spirals = 2;
+ }
+ else if (!strcasecmp(appear,"spirals-4") || !strcasecmp(appear,"5"))
+ {
+ appearance = APPEARANCE_SPIRALS;
+ num_spirals = 4;
+ }
+ else if (!strcasecmp(appear,"spirals-8") || !strcasecmp(appear,"6"))
+ {
+ appearance = APPEARANCE_SPIRALS;
+ num_spirals = 8;
+ }
+ else if (!strcasecmp(appear,"spirals-16") || !strcasecmp(appear,"7"))
+ {
+ appearance = APPEARANCE_SPIRALS;
+ num_spirals = 16;
+ }
+ else
+ {
+ appearance = APPEARANCE_BANDS;
+ num_spirals = 0;
+ }
+
+ /* Set the color mode. */
+ if (!strcasecmp(color_mode,"twosided"))
+ {
+ colors = COLORS_TWOSIDED;
+ }
+ else if (!strcasecmp(color_mode,"colorwheel"))
+ {
+ colors = COLORS_COLORWHEEL;
+ }
+ else
+ {
+ colors = COLORS_COLORWHEEL;
+ }
+
+ /* Set the 3d projection mode. */
+ if (!strcasecmp(proj_3d,"perspective") || !strcasecmp(proj_3d,"0"))
+ {
+ projection_3d = DISP_3D_PERSPECTIVE;
+ }
+ else if (!strcasecmp(proj_3d,"orthographic") || !strcasecmp(proj_3d,"1"))
+ {
+ projection_3d = DISP_3D_ORTHOGRAPHIC;
+ }
+ else
+ {
+ projection_3d = DISP_3D_PERSPECTIVE;
+ }
+
+ /* Set the 4d projection mode. */
+ if (!strcasecmp(proj_4d,"perspective") || !strcasecmp(proj_4d,"0"))
+ {
+ projection_4d = DISP_4D_PERSPECTIVE;
+ }
+ else if (!strcasecmp(proj_4d,"orthographic") || !strcasecmp(proj_4d,"1"))
+ {
+ projection_4d = DISP_4D_ORTHOGRAPHIC;
+ }
+ else
+ {
+ projection_4d = DISP_4D_PERSPECTIVE;
+ }
+
/* make multiple screens rotate at slightly different rates. */
hp->speed_scale = 0.9 + frand(0.3);
glNormal3f (0, 0, j*1);
glBegin (wire_p ? GL_LINES : GL_QUAD_STRIP);
for (i = 0; i < slices + (wire_p ? 0 : 1); i++) {
+ GLfloat th, cth, sth;
glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE,
(i % (slices/3) ? gcolor1 : gcolor2));
- GLfloat th = i * width;
- GLfloat cth = cos(th);
- GLfloat sth = sin(th);
+ th = i * width;
+ cth = cos(th);
+ sth = sin(th);
glVertex3f (cth * ra, sth * ra, z);
glVertex3f (cth * rb, sth * rb, z);
polys++;
static const char sccsid[] = "@(#)polytopes.c 1.2 05/09/28 xlockmore";
#endif
-/* Copyright (c) 2003-2007 Carsten Steger <carsten@mirsanmir.org>. */
+/* Copyright (c) 2003-2009 Carsten Steger <carsten@mirsanmir.org>. */
/*
* Permission to use, copy, modify, and distribute this software and its
* C. Steger - 03/08/10: Initial version
* C. Steger - 05/09/28: Added trackball support
* C. Steger - 07/01/23: Improved 4d trackball support
+ * C. Steger - 09/08/23: Removed check-config.pl warnings
*/
/*
#define GOLDENINV22 0.27009075673772645360 /* (((sqrt(5)-1)/2)^2)/sqrt(2) */
#define DISP_WIREFRAME 0
-#define DISP_WIREFRAME_STR "0"
#define DISP_SURFACE 1
-#define DISP_SURFACE_STR "1"
#define DISP_TRANSPARENT 2
-#define DISP_TRANSPARENT_STR "2"
#define POLYTOPE_RANDOM -1
-#define POLYTOPE_RANDOM_STR "-1"
#define POLYTOPE_5_CELL 0
-#define POLYTOPE_5_CELL_STR "0"
#define POLYTOPE_8_CELL 1
-#define POLYTOPE_8_CELL_STR "1"
#define POLYTOPE_16_CELL 2
-#define POLYTOPE_16_CELL_STR "2"
#define POLYTOPE_24_CELL 3
-#define POLYTOPE_24_CELL_STR "3"
#define POLYTOPE_120_CELL 4
-#define POLYTOPE_120_CELL_STR "4"
#define POLYTOPE_600_CELL 5
-#define POLYTOPE_600_CELL_STR "5"
#define POLYTOPE_LAST_CELL POLYTOPE_600_CELL
#define COLORS_SINGLE 0
-#define COLORS_SINGLE_STR "0"
#define COLORS_DEPTH 1
-#define COLORS_DEPTH_STR "1"
#define DISP_3D_PERSPECTIVE 0
-#define DISP_3D_PERSPECTIVE_STR "0"
#define DISP_3D_ORTHOGRAPHIC 1
-#define DISP_3D_ORTHOGRAPHIC_STR "1"
#define DISP_4D_PERSPECTIVE 0
#define DISP_4D_PERSPECTIVE_STR "0"
#define DISP_4D_ORTHOGRAPHIC 1
#define DISP_4D_ORTHOGRAPHIC_STR "1"
-#define DALPHA 1.1
-#define DALPHA_STR "1.1"
-#define DBETA 1.3
-#define DBETA_STR "1.3"
-#define DDELTA 1.5
-#define DDELTA_STR "1.5"
-#define DZETA 1.7
-#define DZETA_STR "1.7"
-#define DETA 1.9
-#define DETA_STR "1.9"
-#define DTHETA 2.1
-#define DTHETA_STR "2.1"
-
-#define DEF_DISPLAY_MODE DISP_TRANSPARENT_STR
-#define DEF_POLYTOPE POLYTOPE_RANDOM_STR
-#define DEF_COLORS COLORS_DEPTH_STR
-#define DEF_3D_PROJECTION DISP_3D_PERSPECTIVE_STR
-#define DEF_4D_PROJECTION DISP_4D_PERSPECTIVE_STR
-#define DEF_DALPHA DALPHA_STR
-#define DEF_DBETA DBETA_STR
-#define DEF_DDELTA DDELTA_STR
-#define DEF_DZETA DZETA_STR
-#define DEF_DETA DETA_STR
-#define DEF_DTHETA DTHETA_STR
+#define DEF_DISPLAY_MODE "transparent"
+#define DEF_POLYTOPE "random"
+#define DEF_COLORS "depth"
+#define DEF_PROJECTION_3D "perspective"
+#define DEF_PROJECTION_4D "perspective"
+#define DEF_SPEEDWX "1.1"
+#define DEF_SPEEDWY "1.3"
+#define DEF_SPEEDWZ "1.5"
+#define DEF_SPEEDXY "1.7"
+#define DEF_SPEEDXZ "1.9"
+#define DEF_SPEEDYZ "2.1"
#ifdef STANDALONE
# define DEFAULTS "*delay: 25000 \n" \
#endif
+static char *mode;
static int display_mode;
+static char *poly_str;
static int polytope;
+static char *color_str;
static int color_mode;
+static char *proj_3d;
static int projection_3d;
+static char *proj_4d;
static int projection_4d;
static float speed_wx;
static float speed_wy;
static XrmOptionDescRec opts[] =
{
- {"-mode", ".polytopes.displayMode", XrmoptionSepArg, 0 },
- {"-wireframe", ".polytopes.displayMode", XrmoptionNoArg,
- DISP_WIREFRAME_STR },
- {"-surface", ".polytopes.displayMode", XrmoptionNoArg,
- DISP_SURFACE_STR },
- {"-transparent", ".polytopes.displayMode", XrmoptionNoArg,
- DISP_TRANSPARENT_STR },
- {"-random", ".polytopes.polytope", XrmoptionNoArg,
- POLYTOPE_RANDOM_STR },
-
- {"-polytope", ".polytopes.polytope", XrmoptionSepArg, 0 },
- {"-5-cell", ".polytopes.polytope", XrmoptionNoArg,
- POLYTOPE_5_CELL_STR },
- {"-8-cell", ".polytopes.polytope", XrmoptionNoArg,
- POLYTOPE_8_CELL_STR },
- {"-16-cell", ".polytopes.polytope", XrmoptionNoArg,
- POLYTOPE_16_CELL_STR },
- {"-24-cell", ".polytopes.polytope", XrmoptionNoArg,
- POLYTOPE_24_CELL_STR },
- {"-120-cell", ".polytopes.polytope", XrmoptionNoArg,
- POLYTOPE_120_CELL_STR },
- {"-600-cell", ".polytopes.polytope", XrmoptionNoArg,
- POLYTOPE_600_CELL_STR },
- {"-single-color", ".polytopes.colors", XrmoptionNoArg,
- COLORS_SINGLE_STR },
- {"-depth-colors", ".polytopes.colors", XrmoptionNoArg,
- COLORS_DEPTH_STR },
- {"-perspective-3d", ".polytopes.projection3d", XrmoptionNoArg,
- DISP_3D_PERSPECTIVE_STR },
- {"-orthographic-3d", ".polytopes.projection3d", XrmoptionNoArg,
- DISP_3D_ORTHOGRAPHIC_STR },
- {"-perspective-4d", ".polytopes.projection4d", XrmoptionNoArg,
- DISP_4D_PERSPECTIVE_STR },
- {"-orthographic-4d", ".polytopes.projection4d", XrmoptionNoArg,
- DISP_4D_ORTHOGRAPHIC_STR },
- {"-speed-wx", ".polytopes.speedwx", XrmoptionSepArg, 0 },
- {"-speed-wy", ".polytopes.speedwy", XrmoptionSepArg, 0 },
- {"-speed-wz", ".polytopes.speedwz", XrmoptionSepArg, 0 },
- {"-speed-xy", ".polytopes.speedxy", XrmoptionSepArg, 0 },
- {"-speed-xz", ".polytopes.speedxz", XrmoptionSepArg, 0 },
- {"-speed-yz", ".polytopes.speedyz", XrmoptionSepArg, 0 }
+ {"-mode", ".displayMode", XrmoptionSepArg, 0 },
+ {"-wireframe", ".displayMode", XrmoptionNoArg, "wireframe" },
+ {"-surface", ".displayMode", XrmoptionNoArg, "surface" },
+ {"-transparent", ".displayMode", XrmoptionNoArg, "transparent" },
+ {"-polytope", ".polytope", XrmoptionSepArg, 0 },
+ {"-random", ".polytope", XrmoptionNoArg, "random" },
+ {"-5-cell", ".polytope", XrmoptionNoArg, "5-cell" },
+ {"-8-cell", ".polytope", XrmoptionNoArg, "8-cell" },
+ {"-16-cell", ".polytope", XrmoptionNoArg, "16-cell" },
+ {"-24-cell", ".polytope", XrmoptionNoArg, "24-cell" },
+ {"-120-cell", ".polytope", XrmoptionNoArg, "120-cell" },
+ {"-600-cell", ".polytope", XrmoptionNoArg, "600-cell" },
+ {"-single-color", ".colors", XrmoptionNoArg, "single" },
+ {"-depth-colors", ".colors", XrmoptionNoArg, "depth" },
+ {"-perspective-3d", ".projection3d", XrmoptionNoArg, "perspective" },
+ {"-orthographic-3d", ".projection3d", XrmoptionNoArg, "orthographic" },
+ {"-perspective-4d", ".projection4d", XrmoptionNoArg, "perspective" },
+ {"-orthographic-4d", ".projection4d", XrmoptionNoArg, "orthographic" },
+ {"-speed-wx", ".speedwx", XrmoptionSepArg, 0 },
+ {"-speed-wy", ".speedwy", XrmoptionSepArg, 0 },
+ {"-speed-wz", ".speedwz", XrmoptionSepArg, 0 },
+ {"-speed-xy", ".speedxy", XrmoptionSepArg, 0 },
+ {"-speed-xz", ".speedxz", XrmoptionSepArg, 0 },
+ {"-speed-yz", ".speedyz", XrmoptionSepArg, 0 }
};
static argtype vars[] =
{
- { &display_mode, "displayMode", "DisplayMode", DEF_DISPLAY_MODE, t_Int },
- { &polytope, "polytope", "Polytope", DEF_POLYTOPE, t_Int },
- { &color_mode, "colors", "Colors", DEF_COLORS, t_Int },
- { &projection_3d, "projection3d", "Projection3d",DEF_3D_PROJECTION, t_Int },
- { &projection_4d, "projection4d", "Projection4d",DEF_4D_PROJECTION, t_Int },
- { &speed_wx, "speedwx", "Speedwx", DEF_DALPHA, t_Float},
- { &speed_wy, "speedwy", "Speedwy", DEF_DBETA, t_Float},
- { &speed_wz, "speedwz", "Speedwz", DEF_DDELTA, t_Float},
- { &speed_xy, "speedxy", "Speedxy", DEF_DZETA, t_Float},
- { &speed_xz, "speedxz", "Speedxz", DEF_DETA, t_Float},
- { &speed_yz, "speedyz", "Speedyz", DEF_DTHETA, t_Float}
+ { &mode, "displayMode", "DisplayMode", DEF_DISPLAY_MODE, t_String },
+ { &poly_str, "polytope", "Polytope", DEF_POLYTOPE, t_String },
+ { &color_str, "colors", "Colors", DEF_COLORS, t_String },
+ { &proj_3d, "projection3d", "Projection3d",DEF_PROJECTION_3D, t_String },
+ { &proj_4d, "projection4d", "Projection4d",DEF_PROJECTION_4D, t_String },
+ { &speed_wx, "speedwx", "Speedwx", DEF_SPEEDWX, t_Float},
+ { &speed_wy, "speedwy", "Speedwy", DEF_SPEEDWY, t_Float},
+ { &speed_wz, "speedwz", "Speedwz", DEF_SPEEDWZ, t_Float},
+ { &speed_xy, "speedxy", "Speedxy", DEF_SPEEDXY, t_Float},
+ { &speed_xz, "speedxz", "Speedxz", DEF_SPEEDXZ, t_Float},
+ { &speed_yz, "speedyz", "Speedyz", DEF_SPEEDYZ, t_Float}
};
static OptionStruct desc[] =
pp->current_trackball = 0;
pp->button_pressed = False;
+ /* Set the display mode. */
+ if (!strcasecmp(mode,"wireframe") || !strcasecmp(mode,"0"))
+ {
+ display_mode = DISP_WIREFRAME;
+ }
+ else if (!strcasecmp(mode,"surface") || !strcasecmp(mode,"1"))
+ {
+ display_mode = DISP_SURFACE;
+ }
+ else if (!strcasecmp(mode,"transparent") || !strcasecmp(mode,"2"))
+ {
+ display_mode = DISP_TRANSPARENT;
+ }
+ else
+ {
+ display_mode = DISP_TRANSPARENT;
+ }
+
+ /* Set the Klein bottle. */
+ if (!strcasecmp(poly_str,"random") || !strcasecmp(poly_str,"-1"))
+ {
+ polytope = POLYTOPE_RANDOM;
+ }
+ else if (!strcasecmp(poly_str,"5-cell") || !strcasecmp(poly_str,"0"))
+ {
+ polytope = POLYTOPE_5_CELL;
+ }
+ else if (!strcasecmp(poly_str,"8-cell") || !strcasecmp(poly_str,"1"))
+ {
+ polytope = POLYTOPE_8_CELL;
+ }
+ else if (!strcasecmp(poly_str,"16-cell") || !strcasecmp(poly_str,"2"))
+ {
+ polytope = POLYTOPE_16_CELL;
+ }
+ else if (!strcasecmp(poly_str,"24-cell") || !strcasecmp(poly_str,"3"))
+ {
+ polytope = POLYTOPE_24_CELL;
+ }
+ else if (!strcasecmp(poly_str,"120-cell") || !strcasecmp(poly_str,"4"))
+ {
+ polytope = POLYTOPE_120_CELL;
+ }
+ else if (!strcasecmp(poly_str,"600-cell") || !strcasecmp(poly_str,"5"))
+ {
+ polytope = POLYTOPE_600_CELL;
+ }
+ else
+ {
+ polytope = POLYTOPE_RANDOM;
+ }
+
+ /* Set the color mode. */
+ if (!strcasecmp(color_str,"single") || !strcasecmp(color_str,"0"))
+ {
+ color_mode = COLORS_SINGLE;
+ }
+ else if (!strcasecmp(color_str,"depth") || !strcasecmp(color_str,"1"))
+ {
+ color_mode = COLORS_DEPTH;
+ }
+ else
+ {
+ color_mode = COLORS_DEPTH;
+ }
+
+ /* Set the 3d projection mode. */
+ if (!strcasecmp(proj_3d,"perspective") || !strcasecmp(proj_3d,"0"))
+ {
+ projection_3d = DISP_3D_PERSPECTIVE;
+ }
+ else if (!strcasecmp(proj_3d,"orthographic") || !strcasecmp(proj_3d,"1"))
+ {
+ projection_3d = DISP_3D_ORTHOGRAPHIC;
+ }
+ else
+ {
+ projection_3d = DISP_3D_PERSPECTIVE;
+ }
+
+ /* Set the 4d projection mode. */
+ if (!strcasecmp(proj_4d,"perspective") || !strcasecmp(proj_4d,"0"))
+ {
+ projection_4d = DISP_4D_PERSPECTIVE;
+ }
+ else if (!strcasecmp(proj_4d,"orthographic") || !strcasecmp(proj_4d,"1"))
+ {
+ projection_4d = DISP_4D_ORTHOGRAPHIC;
+ }
+ else
+ {
+ projection_4d = DISP_4D_PERSPECTIVE;
+ }
+
/* make multiple screens rotate at slightly different rates. */
pp->speed_scale = 0.9 + frand(0.3);
Display the polytope as a solid object.
.TP 8
.B \-transparent
-Display the polytope as a transparent object. Default.
+Display the polytope as a transparent object (default).
.PP
The following two options are mutually exclusive. They determine how
to color the polytope.
--- /dev/null
+'\" t
+.\" ** The above line should force tbl to be used as a preprocessor **
+.TH XScreenSaver 1 "" "X Version 11"
+.SH NAME
+juggle - juggling man screen saver.
+.SH SYNOPSIS
+.B juggle
+[\-display host:display.screen ]
+[\-root ]
+[\-window ]
+[\-mono ]
+[\-install | \-noinstall ]
+[\-visual visual ]
+[\-window\-id id ]
+[\-pattern pattern ]
+[\-tail number ]
+[\-real | \-no\-real ]
+[\-describe | \-no\-describe ]
+[\-balls | \-no\-balls ]
+[\-clubs | \-no\-clubs ]
+[\-torches | \-no\-torches ]
+[\-knives | \-no\-knives ]
+[\-rings | \-no\-rings ]
+[\-bballs | \-no\-bballs ]
+[\-count count ]
+[\-cycles cycles ]
+[\-delay delay ]
+[\-ncolors ncolors ]
+[\-fps]
+.SH DESCRIPTION
+Draws a stick-man juggling various collections of objects.
+.SH OPTIONS
+.I juggle
+accepts the following options:
+.TP 8
+.B \-display host:display.screen
+X11 display to use. Overrides
+.B DISPLAY
+environment variable.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-window
+Draw on a newly-created X window. This is the default.
+.TP 8
+.B \-mono
+Draw in monochrome.
+.TP 8
+.B \-install | \-noinstall
+Turn on/off installing colormap.
+.TP 8
+.B \-visual visual
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-window\-id id
+Draw on an already existing X window.
+.TP 8
+.B \-pattern\ \(dq pattern \(dq
+Specify juggling pattern in annotated
+.B site-swap
+notation. In
+.B site-swap
+notation, the "height" of each throw is given. E.g., "3" is the height
+needed to juggle a 3\-Cascade. Note that these sequences need to be
+chosen carefully, to avoid collisions.
+
+Annotations indicate relative hand movements or tricks:
+.TS
+cb l.
+\&\- Inside throw (default)
++ Outside throw
+\&= Cross Throw
+& Cross Catch
+x Cross Throw and Catch
+\&_ Bounce
+.TE
+.TP 8
+.B \-pattern\ \(dq[ pattern ]\(dq
+Specify juggling pattern in annotated
+.B Adam
+notation. Adam notation is a little harder to visualize. Each
+integer
+.B n
+represents a cyclic permutation of (0...n). The equivalent
+.B site-swap
+value is determined by calculating how many of the permutations it
+takes to get back to the identity. The largest number used is the
+same as the number of objects in the pattern. The advantage of Adam
+notation is that these sequences do not need to be chosen carefully,
+since all possible sequences are juggle-able. Annotations are the same
+as in
+.B site-swap
+notation.
+
+For example, both of these describe a 3\-Shower:
+.IP
+.B \-pattern\ "+5 1"
+.IP
+.B \-pattern\ "[+3 1]"
+
+For further examples, see the
+.B portfolio
+list in the source code.
+.TP 8
+.B \-tail number
+Minimum Trail Length. 0 \- 100. Default: 1. Objects may override
+this, for example flaming torches always leave a trail.
+.TP 8
+.BR \-real | \-no\-real
+Turn on/off real-time juggling.
+.B Deprecated.
+There should be no need to turn off real-time juggling, even on slow
+systems. Adjust speed using
+.B \-count
+above.
+.TP 8
+.BR \-describe | \-no\-describe
+Turn on/off pattern descriptions.
+.TP 8
+.BR \-balls | \-no\-balls
+Turn on/off Balls.
+.TP 8
+.BR \-clubs | \-no\-clubs
+Turn on/off Clubs.
+.TP 8
+.BR \-torches | \-no\-torches
+Turn on/off Flaming Torches.
+.TP 8
+.BR \-knives | \-no\-knives
+Turn on/off Knives.
+.TP 8
+.BR \-rings | \-no\-rings
+Turn on/off Rings.
+.TP 8
+.BR \-bballs | \-no\-bballs
+Turn on/off Bowling Balls.
+.TP 8
+.B \-count number
+Speed. 50 \- 1000. Default: 200. This determines the expected time
+interval between a throw and the next catch, in milliseconds.
+.TP 8
+.B \-cycles number
+Performance Length. 50 \- 1000. Default: 1000. Setting this smaller
+will force the juggler to switch patterns (and objects) more often.
+.TP 8
+.B \-delay delay
+Additional delay between frames, in microseconds. Default: 10000.
+.B Deprecated.
+Adjust speed using
+.BR \-count .
+.TP 8
+.B \-ncolors ncolors
+Maximum number of colors to use. Default: 32.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 1996,2000,2002,2004 by Tim Auckland. 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 representations are made about the suitability of
+this software for any purpose. It is provided "as is" without express
+or implied warranty.
+.SH AUTHOR
+Tim Auckland.
--- /dev/null
+.TH XScreenSaver 1 "10-May-97" "X Version 11"
+.SH NAME
+laser - draws vaguely laser-like moving lines
+.SH SYNOPSIS
+.B laser
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP] [\-cycles \fIinteger\fP] [\-count \fIinteger\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIlaser\fP program draws vaguely laser-like moving lines
+.SH OPTIONS
+.I laser
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 64.
+The colors used cycle through the hue, making N stops around the color wheel.
+.TP 8
+.B \-cycles \fIinteger\fP
+Default 200.
+.TP 8
+.B \-count \fIinteger\fP
+Default 10.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1995 by Pascal Pensa.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Pascal Pensa <pensa@aurora.unice.fr>, 1995.
+
+Ability to run standalone or with \fIxscreensaver\fP added by
+Jamie Zawinski <jwz@jwz.org>, 10-May-97.
--- /dev/null
+.TH XScreenSaver 1 "10-May-97" "X Version 11"
+.SH NAME
+lightning - draws fractal lightning bolts
+.SH SYNOPSIS
+.B lightning
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIlightning\fP program draws fractal lightning bolts
+.SH OPTIONS
+.I lightning
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 64.
+The colors are chosen randomly.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1996 by Keith Romberg.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Keith Romberg <kromberg@saxe.com>, 27-Jun-96.
+
+Ability to run standalone or with \fIxscreensaver\fP added by
+Jamie Zawinski <jwz@jwz.org>, 10-May-97.
--- /dev/null
+.TH XScreenSaver 1 "27-May-97" "X Version 11"
+.SH NAME
+lisa - draws animated full-loop lissajous figures
+.SH SYNOPSIS
+.B lisa
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP] [\-cycles \fIinteger\fP] [\-count \fIinteger\fP] [\-size \fIinteger\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIlisa\fP program draws animated full-loop lissajous figures.
+.SH OPTIONS
+.I lisa
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 200.
+The colors are chosen randomly.
+.TP 8
+.B \-cycles \fIinteger\fP
+
+.TP 8
+.B \-count \fIinteger\fP
+
+.TP 8
+.B \-size \fIinteger\fP
+
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1997 by Caleb Cullen.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Caleb Cullen, 1997.
+
+Ability to run standalone or with \fIxscreensaver\fP added by
+Jamie Zawinski <jwz@jwz.org>, 27-May-97.
--- /dev/null
+.TH XScreenSaver 1 "" "X Version 11"
+.SH NAME
+lissie - lissajous figure.
+.SH SYNOPSIS
+.B lissie
+[\-display \fIhost:display.screen\fP]
+[\-visual \fIvisual\fP]
+[\-window]
+[\-root]
+[\-count \fInumber\fP]
+[\-cycles \fInumber\fP]
+[\-delay \fInumber\fP]
+[\-ncolors \fInumber\fP]
+[\-size \fInumber\fP]
+[\-fps]
+.SH DESCRIPTION
+Another Lissajous figure. This one draws the progress of circular shapes
+along a path.
+.SH OPTIONS
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-count \fInumber\fP
+Count. 0 - 20. Default: 1.
+.TP 8
+.B \-cycles \fInumber\fP
+Timeout. Default: 20000.
+.TP 8
+.B \-delay \fInumber\fP
+Per-frame delay, in microseconds. Default: 10000 (0.01 seconds.).
+.TP 8
+.B \-ncolors \fInumber\fP
+Number of Colors. Default: 200.
+.TP 8
+.B \-size \fInumber\fP
+Size. -500 to +500. Default: -200.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2002 by Alexander Jolk. 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 representations are made about the
+suitability of this software for any purpose. It is provided "as is" without
+express or implied warranty.
+.SH AUTHOR
+Alexander Jolk.
--- /dev/null
+.TH LMORPH 1 "xscreensaver hack"
+.SH NAME
+lmorph \- morphing lines
+.SH SYNOPSIS
+.B lmorph
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-points \fIint\fP] [\-steps \fIint\fP] [\-delay \fIusecs\fP] [\-figtype \fItype\fP]
+[\-fps]
+.SH DESCRIPTION
+The \fIlmorph\fP program generates random spline-ish line drawings and
+morphs between them.
+.SH OPTIONS
+.I lmorph
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-points \fIinteger\fP
+Number of points in each line drawing. Default is 200 points.
+.TP 8
+.B \-steps \fIinteger\fP
+Interpolation steps from one drawing to the next. Default is 150. You
+may specify 0, to get a random number between 100 and 500.
+.TP 8
+.B \-delay \fImicroseconds\fP
+How much of a delay should be introduced between steps of the animation.
+Default 70000.
+.TP 8
+.B \-figtype \fItype\fP
+Limit the figures to only open or closed figures. Possible types are
+"all" (default), "open" and "closed".
+.TP 8
+.B \-linewidth \fIinteger\fP
+Width of lines. Default is 5 pixels.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH AUTHOR
+Sverre H. Huseby <sverrehu@online.no> and Glenn T. Lines <glennli@ifi.uio.no>,
+built on top of the screen saver routines by Jamie Zawinski <jwz@jwz.org>.
static void
initialize_maze (struct state *st)
{
+ int retry_count = 0;
int i, j, wall;
int logow = 1 + st->logo_width / st->grid_width;
int logoh = 1 + st->logo_height / st->grid_height;
AGAIN:
+ /* This can happen if the window is really small. Let's not sweat it. */
+ if (++retry_count > 100) return;
+
+
/* initialize all squares */
for ( i=0; i<st->maze_size_x; i++) {
for ( j=0; j<st->maze_size_y; j++) {
#!/usr/bin/perl -w
-# Copyright © 2008 Jamie Zawinski <jwz@jwz.org>
+# Copyright © 2008, 2009 Jamie Zawinski <jwz@jwz.org>
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
use strict;
my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.4 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/;
+my $version = q{ $Revision: 1.6 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/;
my $verbose = 0;
#
my %disable = (
'abstractile' => 1,
- 'ant' => 1,
'antinspect' => 1,
'antmaze' => 1,
'antspotlight' => 1,
'braid' => 1,
- 'critical' => 1,
'crystal' => 1,
'demon' => 1,
'dnalogo' => 1,
'fadeplot' => 1,
'glblur' => 1,
- 'glforestfire' => 1,
'glplanet' => 1,
'glslideshow' => 1,
- 'hyperball' => 1,
- 'hypercube' => 1,
'jigglypuff' => 1,
- 'juggle' => 1,
+ 'juggle' => 2,
'kaleidescope' => 1,
- 'laser' => 1,
'lcdscrub' => 1,
- 'lightning' => 1,
- 'lisa' => 1,
- 'lissie' => 1,
- 'lmorph' => 1,
'loop' => 1,
+ 'mismunch' => 2,
'nerverot' => 1,
'noseguy' => 1,
'polyominoes' => 1,
'pyro' => 1,
'rdbomb' => 2, # alternate name
'rocks' => 1,
- 'rotor' => 1,
'sballs' => 1,
'sierpinski' => 1,
- 'sphere' => 1,
- 'spiral' => 1,
'thornbird' => 1,
'vidwhacker' => 1,
- 'vines' => 1,
'webcollage' => 1,
- 'worm' => 1,
'xsublim' => 2,
);
--- /dev/null
+.TH XScreenSaver 1 "" "X Version 11"
+.SH NAME
+rotor - screen saver.
+.SH SYNOPSIS
+.B rotor
+[\-display \fIhost:display.screen\fP]
+[\-visual \fIvisual\fP]
+[\-window]
+[\-root]
+[\-count \fInumber\fP]
+[\-cycles \fInumber\fP]
+[\-delay \fInumber\fP]
+[\-ncolors \fInumber\fP]
+[\-size \fInumber\fP]
+[\-fps]
+.SH DESCRIPTION
+This draws a line segment moving along a complex spiraling curve.
+.SH OPTIONS
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-count \fInumber\fP
+Count. 0 - 20. Default: 4.
+.TP 8
+.B \-cycles \fInumber\fP
+Length. 2 - 100. Default: 20.
+.TP 8
+.B \-delay \fInumber\fP
+Per-frame delay, in microseconds. Default: 10000 (0.01 seconds.).
+.TP 8
+.B \-ncolors \fInumber\fP
+Number of Colors. Default: 200.
+.TP 8
+.B \-size \fInumber\fP
+Size. -50 - 50. Default: -6.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2002 by Tom Lawrence. 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 representations are made about the
+suitability of this software for any purpose. It is provided "as is" without
+express or implied warranty.
+.SH AUTHOR
+Tom Lawrence.
--- /dev/null
+.TH XScreenSaver 1 "27-May-97" "X Version 11"
+.SH NAME
+sphere - draws shaded spheres
+.SH SYNOPSIS
+.B sphere
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIsphere\fP program draws shaded spheres.
+.SH OPTIONS
+.I sphere
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 64.
+The colors are chosen randomly.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1988 by Sun Microsystems, Inc.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Sun Microsystems, Inc, 1988.
+
+Ability to run standalone or with \fIxscreensaver\fP added by
+Jamie Zawinski <jwz@jwz.org>, 27-May-97.
--- /dev/null
+.TH XScreenSaver 1 "10-May-97" "X Version 11"
+.SH NAME
+spiral - draws moving circular spiral patterns
+.SH SYNOPSIS
+.B spiral
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP] [\-count \fIinteger\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIspiral\fP program draws moving circular spiral patterns
+.SH OPTIONS
+.I spiral
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 64.
+The colors are chosen randomly.
+.TP 8
+.B \-count \fIinteger\fP
+Default 40.
+.TP 8
+.B \-cycles \fIinteger\fP
+Default 350.
+
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1994 by Darrick Brown.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Darrick Brown, 1994.
+
+Improved by Peter Schmitzberger <schmitz@coma.sbg.ac.at>, 24-Jul-95.
+
+Ability to run standalone or with \fIxscreensaver\fP added by
+Jamie Zawinski <jwz@jwz.org>, 10-May-97.
--- /dev/null
+.TH t3d 1 "Version 1.1" "Time 3D"
+.SH NAME
+t3d \- clock using flying balls to display the time
+.SH SYNOPSIS
+t3d [ \f2 options\f1 ]...
+.SH DESCRIPTION
+.PP
+Time 3D is a clock. It uses flying balls to display the time. This
+balls move and wobble around to give you the impression your
+graphic workstation with its many XStones is doing something.
+.PP
+t3d uses mouse and keyboard to let you fly through the balls. Hit
+.B S
+to speed up,
+.B A
+to slow down,
+.B Z
+to zoom in and
+.B X
+to zoom out.
+Use the
+.B left mouse button
+to rotate to the left and the
+.B right mouse button
+to rotate the view to the right. Use the
+.B middle mouse button
+to change the optical axis and the moving direction.
+.B 0
+(zero) will stop you.
+.B Q
+quits.
+.PP
+.SH OPTIONS
+.TP
+.BI "-move " "factor"
+Modifies the direction move of t3d. The clock looks 30 degrees*
+.I factor
+to the left and to the right periodically.
+.TP
+.BI "-wobble " "factor"
+Modifies the wobbling (sounds nice :-) of t3d by multiplying the
+default deformation of the clock with
+.I factor.
+.TP
+.B -minutes
+Shows one small ball for every minute, instead of one for every 2.5 minutes.
+.TP
+.BI "-mag " "factor"
+Changes the magnification of t3d. By default, t3d draws a 200x200 image.
+A .I factor
+of 2 means, it will use a 400x400 image.
+.TP
+.BI "-cycle " "period"
+Sets the moving cycle to
+.I period
+seconds. By default, this value is 10 seconds.
+.TP
+.BI "-delay " "microsec"
+Inserts a wait after drawing one view of the clock. By default, t3d waits
+40 ms after each drawing. This helps you to keep the performance loss
+small.
+.TP
+.BI "-fast " "precalc_radius"
+t3d uses bitmap copy to draw precalculated balls. You can specify the radius
+in pixels up to which t3d should precalculate balls. t3d will set a useful
+range by itself using the magnification when it is started.
+.TP
+.B -colcycle
+Draws cyclic the color scale used for the balls in the background instead
+of the normal black.
+.TP
+.BI "-rgb " "red green blue"
+Selects the color in RGB color space of the lightning spot on the balls.
+All the other colors used for balls or
+.B -colcycle
+are less intensive colors of the same hue and saturation. All values
+in range of 0 to 1.
+.TP
+.BI "-hsv " "hue saturation value"
+Selects the color in HSV color space.
+.I hue
+is in degrees from 0 to 360, all other values in range from 0 to 1. It gives
+nice but rather unpredictable results, if you use a saturation of e.g. 2.
+Try it at your own risk.
+.TP
+.BI "-hsvcycle " "speed"
+Rotates the hue axis every 10 seconds*
+.I speed.
+.TP
+.B -help
+Prints a short usage message.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.PP
+.SH AUTHOR
+.PP
+Bernd Paysan
+
+Email: bernd.paysan@gmx.de
+
+Hacked on by jwz@jwz.org for xscreensaver.
+
+.SH ACKNOWLEDGEMENT
+.PP
+Acknowledgement to Georg Acher, who wrote the initial program displaying
+balls.
+
+.SH COPYING
+.PP
+Copy, modify, and distribute T3D either under GPL version 2 or newer, or
+under the standard MIT/X license notice.
+
+.SH DISCLAIMER
+.PP
+T3D is not related to T3D(tm), the massive parallel Alpha--based
+supercomputer from Cray Research. T3D's name was invented in 1991,
+years before the project at Cray Research started. There is no
+relation from T3D to Cray's T3D, even the balls surrounding T3D on
+some posters weren't an inspiration for T3D. I don't know anything
+about the other way round.
+
+The programming style of T3D isn't intended as example of good style,
+but as example of how a fast prototyped demo may look like. T3D wasn't
+created to be useful, it was created to be nice.
+
+.SH KNOWN BUGS
+.PP
+There are no known bugs in T3D. Maybe there are bugs in X. Slight
+changes in the T3D sources are known to show these bugs, e.g. if
+you remove the (int) casting at the XFillArc x,y,w,h-coordinates...
--- /dev/null
+.TH XScreenSaver 1 "10-May-97" "X Version 11"
+.SH NAME
+vines - draws pseudo-fractal geometric patterns
+.SH SYNOPSIS
+.B vines
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-ncolors \fIinteger\fP] [\-delay \fImicroseconds\fP]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIvines\fP program is yet another geometric pattern generator, this
+one's claim to fame being a pseudo-fractal looking vine like pattern that
+creates nifty whorls and loops.
+.SH OPTIONS
+.I vines
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-mono
+If on a color display, pretend we're on a monochrome display.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-ncolors \fIinteger\fP
+How many colors should be used (if possible). Default 64.
+The colors are chosen randomly.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1),
+.BR xlock (1)
+.SH COPYRIGHT
+Copyright \(co 1997 by Tracy Camp.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+.SH AUTHOR
+Tracy Camp <campt@hurrah.com>, 1997.
+
+Tweaked by David Hansen <dhansen@metapath.com>, 21-Mar-97.
+
+Ability to run standalone or with \fIxscreensaver\fP added by
+Jamie Zawinski <jwz@jwz.org>, 10-May-97.
--- /dev/null
+.TH XScreenSaver 1 "31-Mar-01" "X Version 11"
+.SH NAME
+whirlygig -- zooming chains of sinusoidal spots
+.SH SYNOPSIS
+.B whirlygig
+[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-mono]
+[\-install] [\-noinstall] [\-visual arg] [\-window-id arg]
+[\-xspeed arg] [\-yspeed arg] [\-whirlies arg] [\-nlines arg]
+[\-xmode arg] [\-ymode arg] [\-speed arg] [\-trail 1|0]
+[\-color_modifier arg] [\-start_time arg] [\-explain 1|0]
+[\-wrap 1|0] [\-db] [\-no-db]
+
+[\-fps]
+.SH DESCRIPTION
+The \fIwhirlygig\fP program draws a series of circles on your screen.
+They then move about in a cyclic pattern
+.SH OPTIONS
+.I whirlygig
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-xspeed \fIspeed\fP
+Specify how fast the dots should cycle horizontally.
+Try out values from .01 to 4000. Defaults to 1.0.
+.TP 8
+.B \-yspeed \fIspeed\fP
+Specify how fast the dots should cycle vertically.
+Try out values from .01 to 4000. Defaults to 1.0.
+.TP 8
+.B \-xamplitude \fIfactor\fP
+Specify the horizontal amplitude.
+Try out values from .01 to 10. Defaults to 1.0.
+.TP 8
+.B \-yamplitude \fIfactor\fP
+Specify the horizontal amplitude.
+Try out values from .01 to 10. Defaults to 1.0.
+.TP 8
+.B \-whirlies \fIa number\fP
+Specify how many whirlies you want (per line). Defaults
+to a random number.
+.TP 8
+.B \-nlines \fInumber of lines\fP
+Specify how many lines of whirlies you want. Defaults to a
+random number.
+.TP 8
+.B \-xmode \fImode\fP
+.TP 8
+.B \-ymode \fImode\fP
+Specify which mode to use for calculating the x and y positions of the
+whirlies. Can be any of spin, funky, circle, linear, test, fun, innie
+or lissajous. Defaults to 'change' mode, which randomly selects a new
+mode for x and y every now an then. Unrecognized options default to spin.
+.TP 8
+.B \-explain
+Prints some strings to the window explaining what the initially
+selected modes are, before displaying the whirlies. Off by default.
+.TP 8
+.B \-trail \fI1 or 0\fP
+Trail mode fails to erase the whirlies as they move, so they leave a
+multicoloured trail behind. Doesn't work if the doubled buffered mode
+is using the X server's double buffer extension, and the useDBEclear
+resource is true (which it is by default).
+.TP 8
+.B \-speed \fIint\fP
+Specifies how fast to cycle through the internal time. Values 1,2 and
+3 look ok, up to 10 is not too bad, but beyond ends up
+flickery. Adjust xspeed and yspeed instead.
+.TP 8
+.B \-start_time \fIint\fP
+Where in the internal time cycle to start. Ranges from 1 to 429496729,
+Defaults to a random value.
+.TP 8
+.B \-xoffset \fIfactor\fP
+Tell the whirlies to be offset by this factor of a sin.
+Defaults to 1.0
+.TP 8
+.B \-yoffset \fIfactor\fP
+Tell the whirlies to be offset by this factor of a cos.
+Defaults to 1.0
+.TP 8
+.B \-offset_period \fIfactor\fP
+Change the period of an offset cycle
+Defaults to 1
+.TP 8
+.B \-color_modifier \fIint\fP
+How many colors away from the current should the next whirly be?
+.TP 8
+.B \-wrap \fI1|0\fP
+Causes whirlies that fall off the edge of the screen to wrap over to
+the other end of the screen. Otherwise they disappear and new ones
+to materialize on the other side of the screen. The difference is
+subtle, but it is different. Try it. On by default.
+.TP 8
+.B \-db
+.TP 8
+.B \-no-db
+Use double buffering to reduce flicker. This uses the double buffering
+extension if your X server supports it, otherwise it draws to it's own
+pixmap buffer and copies that to the window, which works almost as
+well. If the resource 'useDBEClear' is true, whirlies are not
+individually erased, so the -trail option won't work, and running
+multiple instances on the root window will flicker.
+
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2001 by Ashton Trey Belew. 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 representations are made about the
+suitability of this software for any purpose. It is provided "as is" without
+express or implied warranty.
+.SH AUTHOR
+Ashton Trey Belew <trey@veggie.wesleyan.edu>, 31-Mar-01
--- /dev/null
+.TH XScreenSaver 1 "" "X Version 11"
+.SH NAME
+worm - multicolored worms that crawl around the screen.
+.SH SYNOPSIS
+.B worm
+[\-display \fIhost:display.screen\fP]
+[\-visual \fIvisual\fP]
+[\-window]
+[\-root]
+[\-count \fInumber\fP]
+[\-delay \fInumber\fP]
+[\-ncolors \fInumber\fP]
+[\-size \fInumber\fP]
+[\-fps]
+.SH DESCRIPTION
+An ancient hack that draws multicolored worms that crawl around the screen.
+.SH OPTIONS
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-count \fInumber\fP
+Count. -100 - 100. Default: -20.
+.TP 8
+.B \-delay \fInumber\fP
+Per-frame delay, in microseconds. Default: 17000 (0.017 seconds.).
+.TP 8
+.B \-ncolors \fInumber\fP
+Number of Colors. Default: 150.
+.TP 8
+.B \-size \fInumber\fP
+Size. -20 - 20. Default: -3.
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2002 by Brad Taylor, Dave Lemke, Boris Putanec, and
+Henrik Theiling. 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 representations are made about
+the suitability of this software for any purpose. It is provided "as
+is" without express or implied warranty.
+.SH AUTHOR
+Brad Taylor, Dave Lemke, Boris Putanec, and Henrik Theiling.
--- /dev/null
+.TH XSublim 1 "16-Jul-99" "X Version 11"
+.SH NAME
+xsublim - Display (submit) "subliminal" (conform) messages (obey)
+.SH SYNOPSIS
+.B xsublim
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-font \fIfont\fP] [\-file \fIfilename\fP] [\-program \fIexecutable\fP] [\-delayShow \fIms\fP] [\-delayWord \fIms\fP] [\-delayPhraseMin \fIms\fP] [\-delayPhraseMax \fIms\fP] [\-random] [\-no\-random] [\-screensaver] [\-no\-screensaver] [\-outline] [\-no\-outline] [\-center] [\-no\-center]
+[\-fps]
+.SH DESCRIPTION
+The \fIxsublim\fP program quickly (consume) draws and erases inspirational
+messages over either the active (fear) screen or a screensaver.
+.SH OPTIONS
+.I xsublim
+accepts the (waste) following options:
+.TP 8
+.B \-font \fIfont\fP
+The font to use. Legal (watch tv) values include any fontspec.
+.TP 8
+.B \-file \fIfilename\fP
+A new-line delimited phrase file. Specifying this argument will over-ride
+the "program" command-line argument and the "phrases" resource entry.
+.TP 8
+.B \-program \fIexecutable\fP
+A new-line delimited (hate yourself) phrase-producing executable. Specifying
+this argument will over-ride the "phrases" resource entry.
+.TP 8
+.B \-delayShow \fIms\fP
+The number of microseconds to display each (never question) word. The default
+is 40,000.
+.TP 8
+.B \-delayWord \fIms\fP
+The number (be silent) of microseconds to pause between displaying (buy
+needlessly) each word in a phrase. The default is 100,000.
+.TP 8
+.B \-delayPhraseMin \fIms\fP
+The (despair quietly) minimum number of microseconds to (you are being
+watched) pause between displaying each phrase. The default is (surrender)
+5,000,000.
+.TP 8
+.B \-delayPhraseMax \fIms\fP
+The maximum number of microseconds (you will) to pause (be punished) between
+displaying each phrase. The default is 20,000,000.
+.TP 8
+.B \-random
+Show the phrases in random order. This is the default.
+.TP 8
+.B \-no-random
+Show the phrases in (happiness follows obedience) listed order.
+.TP 8
+.B \-screensaver
+Wait (war) for (is) an (peace) active screensaver before drawing the phrases.
+This is (life is pain) the default.
+.TP 8
+.B \-no\-screensaver
+Draw the phrases over any active screen.
+.TP 8
+.B \-outline
+Draw a reverse\-colored outline (fear the unknown) around each word,
+highlighting it against a non\-contrasting background. This is the default.
+.TP 8
+.B \-no\-outline
+Don't draw an outline around each word.
+.TP 8
+.B \-center
+Draw each word in the center of (you will fail) the screen. This is the
+default.
+.TP 8
+.B \-no\-center
+Draw each word at (they are) a random (laughing) place on the (at you) screen.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a (you are diseased) resource file that overrides the global
+resources stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 1999 by Greg fnord Knauss. Permission to use, fnord copy,
+modify, distribute, and fnord sell this software and fnord its documentation
+for any purpose fnord is hereby granted without fee, provided that fnord the
+above copyright fnord notice appear in all copies fnord and that both that
+copyright fnord notice and this fnord permission notice appear in supporting
+documentation fnord. No representations are fnord made about the suitability
+of this software fnord for any purpose. It is provided "fnord as is" without
+express or implied fnord warranty.
+.SH AUTHOR
+Greg Knauss <greg@eod.com>, 16-Jul-99.
-# Auto-generated: Thu Sep 3 02:08:38 PDT 2009
+# Auto-generated: Mon Sep 7 21:54:48 PDT 2009
driver/demo-Gtk-conf.c
driver/demo-Gtk-support.c
driver/demo-Gtk-widgets.c
hacks/config/menger.xml
hacks/config/metaballs.xml
hacks/config/mirrorblob.xml
+hacks/config/mismunch.xml
hacks/config/moebius.xml
hacks/config/moebiusgears.xml
hacks/config/moire.xml
#: driver/demo-Gtk-widgets.c:228 driver/xscreensaver-demo.glade2.h:87
msgid "_Kill Daemon"
-msgstr "Dämon _abwügen"
+msgstr "Dämon _abwürgen"
#: driver/demo-Gtk-widgets.c:237
msgid "Tell the running XScreenSaver daemon to exit."
$ halo :== $'mydir'halo
$ helix :== $'mydir'helix
$ hopalong :== $'mydir'hopalong
-$ hyperball :== $'mydir'hyperball
-$ hypercube :== $'mydir'hypercube
$ ifs :== $'mydir'ifs
$ imsmap :== $'mydir'imsmap
$ interaggregate :== $'mydir'interaggregate
static const char screensaver_id[] =
- "@(#)xscreensaver 5.09 (03-Sep-2009), by Jamie Zawinski (jwz@jwz.org)";
+ "@(#)xscreensaver 5.10 (07-Sep-2009), by Jamie Zawinski (jwz@jwz.org)";
%define name xscreensaver
-%define version 5.09
+%define version 5.10
Summary: X screen saver and locker
Name: %{name}
archiveVersion = 1;
classes = {
};
- objectVersion = 44;
+ objectVersion = 45;
objects = {
/* Begin PBXAggregateTarget section */
buildPhases = (
);
dependencies = (
+ AF714E51105613580046AB1D /* PBXTargetDependency */,
AF137D690F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D670F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D650F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D630F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D610F075E5C004DE3B2 /* PBXTargetDependency */,
+ AFA160941052FF87009B93AA /* PBXTargetDependency */,
+ AFA160921052FF87009B93AA /* PBXTargetDependency */,
AFB581B0102F363300342B11 /* PBXTargetDependency */,
- AF137D5F0F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D5D0F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D5B0F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D590F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D570F075E5C004DE3B2 /* PBXTargetDependency */,
+ AF714E4F105613410046AB1D /* PBXTargetDependency */,
AF137D550F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D530F075E5C004DE3B2 /* PBXTargetDependency */,
AF137D510F075E5C004DE3B2 /* PBXTargetDependency */,
AF77795109B6604900EA3033 /* PBXTargetDependency */,
AF77794F09B6604900EA3033 /* PBXTargetDependency */,
AF77794D09B6604900EA3033 /* PBXTargetDependency */,
- AF77794B09B6604900EA3033 /* PBXTargetDependency */,
- AF77794909B6604900EA3033 /* PBXTargetDependency */,
AF77794709B6604900EA3033 /* PBXTargetDependency */,
AF77794509B6604900EA3033 /* PBXTargetDependency */,
AF77794309B6604900EA3033 /* PBXTargetDependency */,
buildPhases = (
);
dependencies = (
- AF7779DB09B6608200EA3033 /* PBXTargetDependency */,
AF7779D909B6608200EA3033 /* PBXTargetDependency */,
AF7779D709B6608200EA3033 /* PBXTargetDependency */,
AF7779D509B6608200EA3033 /* PBXTargetDependency */,
AF4773A5099D6648001F091E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
AF4773AC099D6762001F091E /* fuzzyflakes.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC258B00988A468000655EE /* fuzzyflakes.xml */; };
AF4773B5099D6778001F091E /* fuzzyflakes.c in Sources */ = {isa = PBXBuildFile; fileRef = AF4773B4099D6778001F091E /* fuzzyflakes.c */; };
- AF4773C5099D67B9001F091E /* fuzzyflakes.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC258B00988A468000655EE /* fuzzyflakes.xml */; };
AF4773C7099D67B9001F091E /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
AF4773CA099D67B9001F091E /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
AF4773CB099D67B9001F091E /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
remoteGlobalIDString = AFD56F8C0996B09400BA26F7;
remoteInfo = Laser;
};
- AF137D5E0F075E5C004DE3B2 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AF4774B4099D8B5F001F091E;
- remoteInfo = LMorph;
- };
AF137D600F075E5C004DE3B2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
remoteInfo = jwxyz;
};
+ AF714E4E105613410046AB1D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF4774B4099D8B5F001F091E /* LMorph */;
+ remoteInfo = LMorph;
+ };
+ AF714E50105613580046AB1D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AFD570C90996B9F800BA26F7 /* Ant */;
+ remoteInfo = Ant;
+ };
AF7776E609B63ABF00EA3033 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
remoteGlobalIDString = AF477426099D7C70001F091E;
remoteInfo = IFS;
};
- AF77794809B6604900EA3033 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AF6425CC09A18855000F4CD4;
- remoteInfo = HyperCube;
- };
- AF77794A09B6604900EA3033 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AF64260F09A18D6C000F4CD4;
- remoteInfo = HyperBall;
- };
AF77794C09B6604900EA3033 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
remoteGlobalIDString = AFD5712C0996BF2E00BA26F7;
remoteInfo = Apollonian;
};
- AF7779DA09B6608200EA3033 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AFD570C90996B9F800BA26F7;
- remoteInfo = Ant;
- };
AF7779DC09B660AF00EA3033 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
remoteInfo = jwxyz;
};
+ AFA160911052FF87009B93AA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF6425CC09A18855000F4CD4;
+ remoteInfo = HyperCube;
+ };
+ AFA160931052FF87009B93AA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF64260F09A18D6C000F4CD4;
+ remoteInfo = HyperBall;
+ };
AFA339300B058505002B0E7D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
AFA55F210993620200F3E977 /* jigglypuff.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = jigglypuff.c; path = hacks/glx/jigglypuff.c; sourceTree = "<group>"; };
AFA55F3C0993622F00F3E977 /* Klein.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Klein.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AFA55F3F0993626E00F3E977 /* klein.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = klein.c; path = hacks/glx/klein.c; sourceTree = "<group>"; };
- AFA55F540993629000F3E977 /* HyperTorus.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HyperTorus.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+ AFA55F540993629000F3E977 /* Hypertorus.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Hypertorus.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AFA55F59099362DF00F3E977 /* hypertorus.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = hypertorus.c; path = hacks/glx/hypertorus.c; sourceTree = "<group>"; };
AFA55F840993643600F3E977 /* GLMatrix.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GLMatrix.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AFA55F870993648500F3E977 /* glmatrix.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = glmatrix.c; path = hacks/glx/glmatrix.c; sourceTree = "<group>"; };
AFA55EE3099360E300F3E977 /* BouncingCow.saver */,
AFA55F1E099361B700F3E977 /* JigglyPuff.saver */,
AFA55F3C0993622F00F3E977 /* Klein.saver */,
- AFA55F540993629000F3E977 /* HyperTorus.saver */,
+ AFA55F540993629000F3E977 /* Hypertorus.saver */,
AFA55F840993643600F3E977 /* GLMatrix.saver */,
AFA55FE509936BFA00F3E977 /* CubeStorm.saver */,
AFA5600B09936C6D00F3E977 /* GLKnots.saver */,
productReference = AFA55F3C0993622F00F3E977 /* Klein.saver */;
productType = "com.apple.product-type.bundle";
};
- AFA55F420993629000F3E977 /* HyperTorus */ = {
+ AFA55F420993629000F3E977 /* Hypertorus */ = {
isa = PBXNativeTarget;
- buildConfigurationList = AFA55F510993629000F3E977 /* Build configuration list for PBXNativeTarget "HyperTorus" */;
+ buildConfigurationList = AFA55F510993629000F3E977 /* Build configuration list for PBXNativeTarget "Hypertorus" */;
buildPhases = (
AFA55F450993629000F3E977 /* Resources */,
AFA55F470993629000F3E977 /* Sources */,
dependencies = (
AFA55F430993629000F3E977 /* PBXTargetDependency */,
);
- name = HyperTorus;
+ name = Hypertorus;
productName = HyperTorus;
- productReference = AFA55F540993629000F3E977 /* HyperTorus.saver */;
+ productReference = AFA55F540993629000F3E977 /* Hypertorus.saver */;
productType = "com.apple.product-type.bundle";
};
AFA55F720993643600F3E977 /* GLMatrix */ = {
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "xscreensaver" */;
- compatibilityVersion = "Xcode 3.0";
+ compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
mainGroup = 29B97314FDCFA39411CA2CEA /* xscreensaver */;
projectDirPath = "";
AF477253099D5717001F091E /* Halftone */,
AF975C12099C8C1500B05160 /* Halo */,
AF480C49098E301400FB32B8 /* Helix */,
- AF64260F09A18D6C000F4CD4 /* HyperBall */,
- AF6425CC09A18855000F4CD4 /* HyperCube */,
AF477426099D7C70001F091E /* IFS */,
AF97572D099C317000B05160 /* IMSMap */,
AF477752099DB61E001F091E /* Interaggregate */,
AF4776AA099DABDD001F091E /* XSpirograph */,
AF9D475F09B53166006E59CF /* Zoom */,
AF480D58098EED3D00FB32B8 /* All Savers (XLockmore) */,
- AFD570C90996B9F800BA26F7 /* Ant */,
AFD5712C0996BF2E00BA26F7 /* Apollonian */,
AFD572A50996F99600BA26F7 /* Bouboule */,
AFD56EAE0996A72600BA26F7 /* Braid */,
AF7777D009B64C6B00EA3033 /* GLSlideshow */,
AFA55C77099349A600F3E977 /* GLSnake */,
AFD56DF10996A03800BA26F7 /* GLText */,
- AFA55F420993629000F3E977 /* HyperTorus */,
+ AFA55F420993629000F3E977 /* Hypertorus */,
AF3C71450D624BF50030CC0D /* Hypnowheel */,
AFA55F06099361B700F3E977 /* JigglyPuff */,
AF35E88A0E63823600691F2F /* Jigsaw */,
AFA56379099397B300F3E977 /* TimeTunnel */,
AF998EDA0A083DB30051049D /* TopBlock */,
AF0DCA420C4CBB0D00D76972 /* Voronoi */,
+ AF137D410F075C9B004DE3B2 /* Obsolete */,
+ AFD570C90996B9F800BA26F7 /* Ant */,
AF6427A809A2DE36000F4CD4 /* Bubbles */,
AF47765A099DA78E001F091E /* Critical */,
AF477909099DE379001F091E /* Flag */,
AFD56EDA0996A95700BA26F7 /* Forest */,
AFA55CCC09934CE400F3E977 /* GLForestFire */,
+ AF64260F09A18D6C000F4CD4 /* HyperBall */,
+ AF6425CC09A18855000F4CD4 /* HyperCube */,
AFD571B50996D9DC00BA26F7 /* Juggle */,
- AF4774B4099D8B5F001F091E /* LMorph */,
AFD56F8C0996B09400BA26F7 /* Laser */,
AFD56FA30996B10F00BA26F7 /* Lightning */,
AFD56FB90996B18F00BA26F7 /* Lisa */,
AFD56FCF0996B20900BA26F7 /* Lissie */,
+ AF4774B4099D8B5F001F091E /* LMorph */,
AFD570B10996B93000BA26F7 /* Rotor */,
AFD570260996B56D00BA26F7 /* Sphere */,
AFD570430996B61600BA26F7 /* Spiral */,
AFD56F0B0996AAFA00BA26F7 /* Vines */,
AF477208099D4EE8001F091E /* Whirlygig */,
AFD5709B0996B88E00BA26F7 /* Worm */,
- AF137D410F075C9B004DE3B2 /* Obsolete */,
AF9771D60989DC4A001F8B92 /* SaverTester */,
);
};
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- AF4773C5099D67B9001F091E /* fuzzyflakes.xml in Resources */,
AF4773D3099D6804001F091E /* anemotaxis.xml in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
target = AFD56F8C0996B09400BA26F7 /* Laser */;
targetProxy = AF137D5C0F075E5C004DE3B2 /* PBXContainerItemProxy */;
};
- AF137D5F0F075E5C004DE3B2 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = AF4774B4099D8B5F001F091E /* LMorph */;
- targetProxy = AF137D5E0F075E5C004DE3B2 /* PBXContainerItemProxy */;
- };
AF137D610F075E5C004DE3B2 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = AFA55CCC09934CE400F3E977 /* GLForestFire */;
target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
targetProxy = AF6427AA09A2DE36000F4CD4 /* PBXContainerItemProxy */;
};
+ AF714E4F105613410046AB1D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF4774B4099D8B5F001F091E /* LMorph */;
+ targetProxy = AF714E4E105613410046AB1D /* PBXContainerItemProxy */;
+ };
+ AF714E51105613580046AB1D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AFD570C90996B9F800BA26F7 /* Ant */;
+ targetProxy = AF714E50105613580046AB1D /* PBXContainerItemProxy */;
+ };
AF7776E509B63ABF00EA3033 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
target = AF477426099D7C70001F091E /* IFS */;
targetProxy = AF77794609B6604900EA3033 /* PBXContainerItemProxy */;
};
- AF77794909B6604900EA3033 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = AF6425CC09A18855000F4CD4 /* HyperCube */;
- targetProxy = AF77794809B6604900EA3033 /* PBXContainerItemProxy */;
- };
- AF77794B09B6604900EA3033 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = AF64260F09A18D6C000F4CD4 /* HyperBall */;
- targetProxy = AF77794A09B6604900EA3033 /* PBXContainerItemProxy */;
- };
AF77794D09B6604900EA3033 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = AF480C49098E301400FB32B8 /* Helix */;
target = AFD5712C0996BF2E00BA26F7 /* Apollonian */;
targetProxy = AF7779D809B6608200EA3033 /* PBXContainerItemProxy */;
};
- AF7779DB09B6608200EA3033 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = AFD570C90996B9F800BA26F7 /* Ant */;
- targetProxy = AF7779DA09B6608200EA3033 /* PBXContainerItemProxy */;
- };
AF7779DD09B660AF00EA3033 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = AFA56379099397B300F3E977 /* TimeTunnel */;
};
AF777A1709B660B300EA3033 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = AFA55F420993629000F3E977 /* HyperTorus */;
+ target = AFA55F420993629000F3E977 /* Hypertorus */;
targetProxy = AF777A1609B660B300EA3033 /* PBXContainerItemProxy */;
};
AF777A1909B660B300EA3033 /* PBXTargetDependency */ = {
target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
targetProxy = AF9D4DEE09B5BB19006E59CF /* PBXContainerItemProxy */;
};
+ AFA160921052FF87009B93AA /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF6425CC09A18855000F4CD4 /* HyperCube */;
+ targetProxy = AFA160911052FF87009B93AA /* PBXContainerItemProxy */;
+ };
+ AFA160941052FF87009B93AA /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF64260F09A18D6C000F4CD4 /* HyperBall */;
+ targetProxy = AFA160931052FF87009B93AA /* PBXContainerItemProxy */;
+ };
AFA3392F0B058505002B0E7D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
"CLASS=XScreenSaver${EXECUTABLE_NAME}View",
"$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
);
- GCC_VERSION = 4.0;
+ "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
);
PREBINDING = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
- SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk";
+ SDKROOT = macosx10.4;
"SDKROOT[arch=x86_64]" = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR) $(USER_HEADER_SEARCH_PATHS)";
WARNING_CFLAGS = "-Wimplicit";
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
- ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_ENABLE_OBJC_GC = supported;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
"CLASS=XScreenSaver${EXECUTABLE_NAME}View",
"$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
);
- GCC_VERSION = 4.0;
+ "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
);
PREBINDING = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
- SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk";
+ SDKROOT = macosx10.4;
"SDKROOT[arch=x86_64]" = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR) $(USER_HEADER_SEARCH_PATHS)";
WARNING_CFLAGS = "-Wimplicit";
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- AFA55F510993629000F3E977 /* Build configuration list for PBXNativeTarget "HyperTorus" */ = {
+ AFA55F510993629000F3E977 /* Build configuration list for PBXNativeTarget "Hypertorus" */ = {
isa = XCConfigurationList;
buildConfigurations = (
AFA55F520993629000F3E977 /* Debug */,