XScreenSaver
- a screen saver and locker for the X window system
- by Jamie Zawinski
+ a collection of
+ free screen savers
+ for X11 and MacOS
- http://www.jwz.org/xscreensaver/
-
-To build on Unix:
-
- - ./configure
- - make
- - make install
-
-The `configure' shell script will attempt to figure out which options are
-appropriate for your system, and will create config.h and the various
-Makefiles for you. Run `configure --help' to see how to override these
-choices, or to specify things like the default installation directory.
-The file `INSTALL' gives a general overview of use of these sorts of
-configure scripts (those generated by the GNU autoconf system.)
-The most important hint is probably this:
-
- ./configure --with-motif=/opt/Motif --with-xpm=/usr/local
+ By Jamie Zawinski
+ and many others
-To build on VMS, see README.VMS.
-
-If you think you've found a bug, please let me know! No bug report is too
-small. But first, please read the enclosed `README.debugging' file to find
-out what kind of information would be most helpful to include in your bug
-report.
-
-Getting Started:
-
-You can try out xscreensaver like so:
+ http://www.jwz.org/xscreensaver/
- xscreensaver &
- xscreensaver-demo
+===============================================================================
-The XScreenSaver suite of applications uses a client-server model:
-The `xscreensaver' program is a daemon that runs in the background;
-it is controlled by the foreground `xscreensaver-demo' program.
+This is the XScreenSaver source code distribution. It is strongly recommended
+that you install a binary release rather than trying to compile it yourself.
+Binaries are available for almost all platforms, including MacOS X. See the
+XScreenSaver web site for details.
-xscreensaver has an extensive manual -- please read it!
+To compile on a Unix system with X11:
- ============
+ ./configure
+ make
+ make install
-The xscreensaver daemon waits until the keyboard and mouse have been idle
-for a period, and then runs a graphics demo chosen at random. The demo is
-terminated as soon as there is any mouse or keyboard activity (or, in
-locking mode, when the proper password is typed.)
+To compile on MacOS X:
-It is trivially easy to add new display modes to xscreensaver: any program
-which can be invoked in such a way that it draws on the root window of the
-screen can be used as a screensaver. You just change a config file --
-there's no need to recompile or reinstall anything.
+ Use the included XCode project. Requires XCode 4 and MacOS X 10.5
+ or newer.
- ============
+Interested in writing a new screen saver?
-Along with the xscreensaver daemon itself, this package also includes
-numerous graphics hacks for use as screensavers. There is nothing
-magic about these: they are just programs that draw on the root window.
-More than 150 such programs are included. For details, see the
-xscreensaver web page, or the enclosed manual pages.
+ See the README.hacking file.
-The latest version of xscreensaver is always available on the web at
-http://www.jwz.org/xscreensaver/.
+===============================================================================
-Looking for tips on writing your own screensavers? There is an entry in
-the XScreenSaver FAQ about that: http://www.jwz.org/xscreensaver/faq.html
+XScreenSaver has an extensive manual -- please read it!
- ============
+===============================================================================
+Changes since 5.20: * Changed default text source from Twitter to Wikipedia,
+ since Twitter now requires a login to get any feeds.
+ * New version of `fireworkx'.
+ * Minor fixes to `distort', `fontglide', `xmatrix'.
+ * New MacOS crash in `bsod'.
+ * New mode in `lcdscrub'.
+Changes since 5.19: * Support for iPhone 5 screen size.
+ * Fixed modifier key handing in Apple2.app and
+ Phosphor.app on MacOS.
+ * Various minor bug fixes.
+Changes since 5.18: * MacOS 10.8.0 compatibility.
+ * iOS performance improvements.
+Changes since 5.17: * iOS responds to shake gestures to randomize.
+ * iOS can load images from your Photo Library.
+ * iOS has clickable Wikipedia links in Settings panels.
+ * Made `pipes' be ridiculously less efficient, but spin.
+ * Added better mouse control to `rubik', `cube21',
+ `crackberg', and `julia'.
+ * Cosmetic improvements to `queens' and `endgame'.
+ * `sonar' can now ping local subnet on DHCP.
+ * Most savers now resize/rotate properly.
+ * Various fixes.
+Changes since 5.16: * More iOS tweaks.
+ * Fixed some compilation problems.
+ * Enlarged the texture image for `lament'.
+Changes since 5.15: * Ported to iPhone and iPad.
+ * XInput devices now also ignore small mouse motions.
+ * Loading images via RSS feeds is much improved.
+ * Various minor fixes.
+Changes since 5.14: * New hacks, `hilbert', `companioncube' and `tronbit'.
+ * Image-manipulating hacks can now load from RSS or Atom
+ feeds: `imageDirectory' may contain a URL.
+ * Updated `webcollage' for recent search engine changes.
+ * `phosphor' and `apple2' can now be run as standalone
+ terminal emulator applications on MacOS.
+ * `photopile' sped up.
+ * New molecule in `molecule'.
+ * "Upgraded" to XCode 4.0, which means that MacOS 10.4
+ PPC builds are impossible, and Intel is now required.
+ * Turned on LC_CTYPE on Linux; maybe Japanese password
+ entry works now?
+Changes since 5.13: * Fixed crash in Blank Only Mode when DPMS disabled.
+ * Added "Quick Power-off in Blank Only Mode" option.
+ * BSOD GLaDOS.
+Changes since 5.12: * Optionally enabled full-scene OpenGL antialiasing.
+ Set the resource `*multiSample' to true if doing so
+ doesn't kill performance with your video hardware.
+ * New version of `glhanoi'.
+ * Image-loading hacks that display the file name now also
+ display the sub-directory (xscreensaver-getimage now
+ returns relative paths under imageDirectory).
+ * Passwords that contain UTF-8 non-Latin1 chars are now
+ typeable.
+ * Numerous minor stability fixes.
+Changes since 5.11: * Big speed improvement on OSX for heavy XCopyArea
+ users (`xmatrix', `moire2', `phosphor', etc.)
+ * Plugged a bad OSX-only Pixmap leak.
+ * Kludged around the OSX pty bug that caused text to
+ be truncated in phosphor, starwars, apple2, etc.
+ * New molecule in `molecule'.
+ * `glhanoi' now supports an arbitrary number of poles.
+ * Turned on "New Login" button by default.
+ * Added support for XInput-style alternate input devices.
+Changes since 5.10: * New versions of `photopile', `strange'.
+ * Worked around MacOS 10.6 garbage collector bug that
+ caused the screen saver process to become enormous.
+ * Fixed flicker in `pipes', `cubestorm', and `noof'.
+ * Fixed EXIF rotation on MacOS 10.6.
+ * Fixed desktop-grabbing when screen locked on MacOS.
+ * Minor fixes to `circuit', `polyhedra', `tangram',
+ `gears', `pinion', `substrate', `xanalogtv'.
+ * Fixed some leaks in `xanalogtv' and `apple2'.
+ * Better seeding of the RNG.
+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.
+ * Use correct proxy server on MacOS.
+ * `molecule' now correctly displays PDB 3.2 files.
+ * Updates to `mirrorblob', `glhanoi', and `sonar'.
+ * Rewritten version of `klein' hack.
+ * New hack, `surfaces', incorporating objects from old
+ `klein' hack, plus new ones.
+ * Merged `juggle' and `juggler3d' hacks.
+ * Fixed compilation under gcc 4.4.0 (strict aliasing).
+ * Fixed intermittent failure in `xscreensaver-command'.
+Changes since 5.07: * New hack, `photopile'.
+ * Rewrote `sonar' and `jigsaw' as OpenGL programs.
+ * Minor tweaks to `maze', `m6502', `hypnowheel', and
+ `timetunnel'.
+ * Savers that load images now obey EXIF rotation tags.
+ * Arrgh, more RANDR noise! Fixes this time for rotated
+ screens, and for systems where RANDR lies and says the
+ screen size is 0x0.
+ * When the password dialog has timed out or been
+ cancelled, don't pop it right back up a second time.
+ * Password timeouts/cancels don't count as
+ "failed logins".
+ * Retired some of the older, less interesting savers:
+ say goodbye to `bubbles', `critical', `flag', `forest',
+ `glforestfire', `lmorph', `laser', `lightning', `lisa',
+ `lissie', `rotor', `sphere', `spiral', `t3d', `vines',
+ `whirlygig', and `worm'.
+ * Merged `munch' and `mismunch'.
+ * Updated `webcollage' to use twitpic.com as well.
+Changes since 5.06: * Xinerama/RANDR tweaks for old-style multi-screen.
+ * Added bumpy skin and cel shading to `skytentacles'.
+ * `flipflop' can load images onto the tiles.
+ * Fixed the bouncing ball in `stairs'.
+ * Added the missing Utah Teapotahedron to `polyhedra'.
+ * `blitspin' works with color images on MacOS now.
+ * Added transparency to `stonerview'.
+ * Improved layout of the preferences dialogs: they
+ should all now be usable even on ridiculously tiny
+ laptop screens.
+ * MacOS preferences text fields now prevent you from
+ entering numbers that are out of range.
+ * Added "Reset to Defaults" button on X11.
+ * Added relevant Wikipedia links to many of the screen
+ saver descriptions.
+ * All hacks support the `-fps' option, not just GL ones.
+ * The `-fps' option now shows CPU load.
+Changes since 5.05: * Xinerama/RANDR fixes: this time for sure. It should
+ now work to add/remove monitors or resize screens at
+ any time.
+ * New hack, `skytentacles'.
+ * New version of `gleidescope'.
+ * Added the `-log' option to the xscreensaver daemon,
+ since a truly shocking number of Linux users seem to
+ have no idea how to redirect output to a file.
+ * Added `-duration' arg to most image-loading hacks,
+ so that they pick a new image every few minutes.
+ * Added an ATM crash to `bsod'.
+Changes since 5.04: * New hacks, `cubicgrid', `hypnowheel', and
+ `lcdscrub' (which isn't really a screen saver).
+ * Updates to `m6502' and `gears'.
+ * Fixed double-buffering problems in `cubestorm' and
+ `noof'.
+ * Better handling of horizontal scroll wheels.
+ * Attempt to work around latest Xinerama braindamage:
+ if the server reports overlapping screens, use the
+ largest non-overlapping rectangles available.
+ * Don't warning about receipt of bogus ClientMessages,
+ since Gnome's just never going to stop sending those.
+ * Worked around MacOS 10.5 perl bug that caused the
+ text-displaying hacks to fail on some systems.
+ * Hopefully fixed font-related System Preferences crashes
+ in MacOS savers.
+ * The recent PAM changes broke the "Caps Lock" warning
+ in the password dialog, the failed login warnings, and
+ syslogging. Fixed all that.
+Changes since 5.03: * Fixed a possible crash in the unlock dialog (more
+ fallout from the recent PAM changes...)
+ * New hacks, `moebiusgears', `abstractile', and
+ `lockward'.
+ * Rewrote `gears' to use better (involute) gear models,
+ and to be more random.
+ * Minor updates to `cwaves', `voronoi', `deco',
+ `glcells', `rd-bomb', `fireworkx' and `webcollage'.
+ * `pong' can now display the current time as the score.
+ * `xmatrix -mode pipe' works better.
+ * Minor tweaks for compilation on MacOS 10.5.0.
+Changes since 5.02: * New hacks, `cwaves', `glcells', `m6502', and `voronoi'.
+ * Minor fixes to `bsod'.
+ * Fixed possible crash with PAM USB-dongle auth.
+ * Updated `webcollage' to track recent Google Images
+ and Flickr changes.
+Changes since 5.01: * Reworked PAM code to support fingerprint readers, etc.
+ * Ported 'webcollage' to MacOS.
+ * Added MacOS 10.2 and 10.3 kernel panics to `bsod'.
+ * Fixed a Xinerama crash when changing the screen count.
+ * New blobbier `mirrorblob'.
+ * Minor updates to `lisa', `bsod', `ifs', `hypertorus',
+ `polytopes', `circuit', `endgame', `crackberg',
+ `flipflop', `flipscreen3d', `fliptext', and `carousel'.
+ * Enabled multi-threaded OpenGL on MacOS.
+Changes since 5.00: * Backed out recent locale-related changes, since they
+ broke far more things than they fixed.
+ * Fail gracefully with ridiculously small window sizes.
+ * `xflame' and `flag' ignore bitmap option on MacOS.
+ * `speedmine' prefs work on MacOS.
+ * Better explosions in `boxed'.
+ * More dynamic motion in `sproingies'.
+ * More options in `flipflop'.
+ * Minor updates to `topblock'.
+ * Various other minor fixes.
+Changes since 4.24: * Ported to MacOS X! (10.4.0 or newer)
+ * API change: instead of providing a single screenhack()
+ function that does not return, screen savers using the
+ screenhack.h framework must now provide "init" and
+ "draw one frame" functions instead. All bundled savers
+ have been updated; third-party patches will need work.
+ * All image-loading happens asynchronously.
+ * xscreensaver-getimage-file caches the contents of the
+ image directory for a few hours, so consecutive runs
+ won't have to re-list the whole directory tree.
+ * New hacks, `topblock' and `glschool'.
+ * Removed `xteevee' (superceded by `xanalogtv').
+ * Added variable-sized puzzle pieces to `jigsaw'.
+ * Changes to the defaults and command-line options of
+ many hacks to make the .xml files more consistent.
+ * Reap zombies in `glslideshow' and `carousel'.
+ * `sonar' works without setuid on MacOS (dgram icmp).
+ * `xmatrix -mode pipe' displays the text of a subprocess.
+ * `endgame' has higher resolution chess-piece models.
+ * `webcollage' takes a -directory option to get images
+ from a local directory.
+ * The RPM spec file no longer auto-restarts xscreensaver
+ when a new version is installed. Restart it manually.
+Changes since 4.23: * New versions of `cube21', `glsnake', `celtic'.
+ * Backed out a DPMS-related patch that cause desktop
+ flickering with some X servers.
+ * Fixed startup crash in getgroups() when running setuid.
+ * Default to not displaying stderr on the saver window.
+ * Fixed bad free() in "Documentation" button.
+ * Don't try to run hacks that aren't installed.
+ * Minor fixes to various XML config files and man pages.
+Changes since 4.22: * New hacks, `glhanoi', `cube21', `timetunnel',
+ `juggler3d', and `celtic'.
+ * New versions of `tangram', `webcollage', `hypertorus',
+ `polytopes', and `ripples'.
+ * `sonar' is now quiet about unresolvable hosts.
+ * Minor corrections to BASIC code in `apple2'.
+ * xscreensaver-demo now provides an RPM clue when none
+ of the hacks seem to be installed.
+ * Don't install `ant' by default, since there is some
+ Java tool of that name, which was causing confusion.
+ And also it's boring.
+ * Made screen grabbing work again on MacOS 10.4.2.
+ * No longer prints bogus warnings about ClientMessages
+ intended for the window manager.
+ * Ignore unprintable characters in passwd entry field.
+ * Fixed yet another cross-host-display image-loading
+ endian problem.
+ * `xscreensaver-command -watch' and `-time' now work
+ on 64-bit machines.
+Changes since 4.21: * Fixed a bug in the new mouse-motion code that caused
+ the screen to never blank on multi-head non-Xinerama
+ systems. Oops.
+ * New hacks, `interaggregate', `antmaze', `tangram',
+ and `crackberg'.
+ * Minor tweaks to `fiberlamp', `ifs', `slidescreen',
+ `zoom', `sonar', `fireworkx', `whirlwindwarp',
+ `bubble3d', and `rd-bomb'.
+ * Added motion blur to `blinkbox'.
+ * `bsod' now includes Longhorn's "RSOD", and OS/2.
+ * Fixed `-wireframe' usage in most hacks and man pages.
+Changes since 4.20: * New hack: `fliptext'.
+ * Changed default configure installation directories:
+ /usr/bin/ for xscreensaver, etc.;
+ /usr/libexec/xscreensaver/ for hacks;
+ /usr/share/xscreensaver/config/ for xml files.
+ * All the text-manipulating screen savers can have their
+ text source configured via `xscreensaver-demo' now.
+ * xscreensaver.spec now builds three RPMs:
+ base (no hacks); extras (2d hacks); and gl-extras.
+ * Added `-program' and `-front' option to `gltext'.
+ * Added `-shells' to `molecule'.
+ * Fixed text-alpha glitch in `carousel'.
+ * New `pacman': the ghosts can be killed now.
+ * Fixed a bug in screen-grabbing GL hacks where images
+ would be tiled instead of scaled on machines that
+ can't do large textures.
+ * `webcollage' can hit Flickr now.
+ * New (rewritten) implementation of `ifs'.
+ * The unlock dialog can be made to have a "New Login"
+ button that will run `gdmflexiserver'. Experimental!
+ * Fixed non-ASCII display bug in `starwars'.
+ * Configure finds a default for imageDirectory.
+ * "xscreensaver-command -lock" now works even if
+ in "screensaver disabled" mode.
+ * If a bad password is typed while CapsLock is on, the
+ unlock dialog says "CapsLock?" instead of "Sorry".
+ * Mouse motion only counts as activity if the mouse moved
+ more than 10 pixels (so the screen won't unblank every
+ time you bump your desk.)
+ * New mode option "random-same": if you have multiple
+ monitors, this will run the *same* randomly chosen
+ hack on each screen, instead of different ones on each.
+Changes since 4.19: * New hacks, `fiberlamp', `boing', `boxfit', and
+ `carousel'.
+ * Rewrote `glslideshow' again: should be faster now.
+ * Sped up loading of images in GL programs.
+ * `starwars' uses texture-mapped fonts now.
+ * New `bsod' modes: tru64, hppa, and nvidia.
+ * Updates to `webcollage', `juggle', `pinion',
+ `fireworkx', `sonar', `extrusion', `substrate', and
+ `pong'.
+Changes since 4.18: * New hacks, `substrate', `intermomentary', `fireworkx',
+ and `pinion'.
+ * New version of `flow'.
+ * Made /proc/interrupts work again on Linux 2.6.
+ * Made `analogtv' not hog the CPU.
+ * Made analogtv-based hacks work properly on PPC/ARM.
+ * Fixed a bad memory leak in `piecewise'.
+ * Minor updates to `sonar', `molecule', `glmatrix',
+ `galaxy', and `webcollage'.
+ * Removed support for GTK 1.x (everyone uses 2.x now.)
+Changes since 4.17: * Oops, pay no attention to the man behind the curtain.
+Changes since 4.16: * New hacks, `anemotaxis' and `memscroller'.
+ * Fixed a bad bug that caused `vidwhacker' to never die.
+ * Fixed normals and lighting in `polyhedra'.
+ * Don't reuse the window when changing hacks (to work
+ around bugs in some GL implementations.)
+ * Made `xscreensaver-getimage-file' skip thumbnail-sized
+ images.
+ * Fixed endian problem in `barcode' on non-x86.
+ * Updates to `webcollage', `apple2', `fuzzyflakes',
+ `atunnel', and `pacman'.
+ * Timing tweaks to `bubble3d', `bouncingcow', `engine',
+ `gltext', `lavalite', `molecule', `spotlight',
+ `sballs', `boxed', `blinkbox', and `circuit'.
+ * Configure updates for Fedora core 2 / xorg 6.7.0.
+ * Compile without warnings under gcc 3.3.3.
+ * I give up: don't blank or lock the screen if we can't
+ get a keyboard grab. In that case, both choices are
+ bad.
+Changes since 4.15: * New hacks, `polyhedra', `fuzzyflakes', `antinspect',
+ and `providence'.
+ * Minor updates to `webcollage', `bsod', `endgame',
+ `antspotlight', `xmatrix', and `glmatrix'.
+ * Added support for the RANDR (Resize and Rotate)
+ extension to detect when the size of the desktop has
+ been changed while xscreensaver is already running.
+ * Possibly-futile attempt to work around "rdesktop"
+ focus/grab idiocy.
+ * Made `xscreensaver-getimage -file' still work even if
+ imageDirectory is unset.
+ * Convert Latin1 to ASCII in `starwars' and `phosphor'
+ (since the GLUT font only has ASCII glyphs.)
+ * Fixed randomization in `noof'.
+ * Added "GetViewPortIsFullOfLies" preference to work
+ around longstanding XFree86 bug #421.
+ * Made `sonar' subnet pinging work properly on bigendian
+ machines (e.g., PPC.)
+Changes since 4.14: * New hacks, `wormhole', `mismunch', `noof', and
+ `pacman'.
+ * `phosphor' and `apple2' include vt100 emulators now:
+ this means you can do "phosphor -program top", or
+ can use either program as an xterm replacement:
+ "apple2 -text -fast -program 'xemacs -nw'".
+ * `analogtv' (and related) fill the screen better.
+ * The '-gradient' option works in `atlantis' now.
+ * Minor updates to `blinkbox', `queens', `endgame',
+ `glmatrix', `mirrorblob', `blocktube', and `molecule'.
+ * Integrated SuSE's "external passwd helper" support.
+ * Marginally better /tmp handling in various programs.
+ * Updated config defaults for xplanet 1.0.3.
+ * Portability fixes.
+Changes since 4.13: * New hacks, `fontglide', `apple2', `xanalogtv', `pong',
+ `gleidescope', `mirrorblob', and `blinkbox'.
+ * New version of `glsnake' (with many more models.)
+ * Another Windows crash in `bsod'; also HVX/GCOS6/TPS6.
+ * New version of `endgame'.
+ * Screen grabbing works on MacOS X.
+ * Various minor fixes.
+Changes since 4.12: * On Xinerama systems, xscreensaver now runs one hack on
+ each monitor (just like in "real" multi-head mode)
+ instead of running one hack stretching across all the
+ screens. Note that for this to work with any 3rd party
+ screensavers, they must update their "vroot.h" file.
+ * `webcollage' and `vidwhacker' display images using
+ `xscreensaver-getimage' now.
+ * Added `ljlatest' script for use with `starwars' and
+ `phosphor'.
+Changes since 4.11: * New GL hacks, `flipflop', `antspotlight', and
+ `polytopes'.
+ * Added VMS to `bsod'.
+ * Compile without warnings in "gcc -pedantic".
+ * Updates to `webcollage' and `queens'.
+ * Fixed a bug that could cause PAM to hang.
+Changes since 4.10: * New hacks, `hypertorus', `cubestorm', `glknots',
+ `blocktube', and `glmatrix'.
+ * Updates to `cloudlife', `engine', `xmatrix', and
+ `sonar'.
+ * Rewrote `glslideshow': it should work on somewhat
+ wimpier video cards now.
+ * Various portability tweaks.
+Changes since 4.09: * New hacks, `cloudlife' and `klein'.
+ * Added Apple ][+, HPUX, and OS/390 sessions to `bsod'.
+ * Added some Matrix Reloaded text to `xmatrix'.
+ * Updates to `webcollage', `eruption', `jigglypuff',
+ `metaballs', and `endgame'.
+ * Completely ignore the `memoryLimit' setting now,
+ since it was still causing people GL grief.
+ * Various minor fixes.
Changes since 4.08: * New hacks, `flyingtoasters', `bouncingcow',
`jigglypuff', and `glslideshow'.
* More models in `engine'.