Jump to content

XScreenSaver

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Bitobor (talk | contribs) at 07:31, 7 June 2014. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

XScreenSaver
Original author(s)Jamie Zawinski
Developer(s)Jamie Zawinski
Stable release
5.28 / 4 June 2014; 10 years ago (2014-06-04)
Operating systemUnix-like
TypeScreensaver
LicenseX11 License
Websitewww.jwz.org/xscreensaver/

XScreenSaver is a collection of about two hundred[1] free screensavers for Unix, Mac OS X and iOS. It was created by Jamie Zawinski in 1992 and is still maintained by him.[2]

The free software and open source Unix-like operating systems running the X Window System (such as Linux and FreeBSD) use XScreenSaver almost exclusively. On those systems, there are two parts to XScreenSaver: the collection of screen savers; and the framework for blanking and locking the screen.

In recent years, some Linux distributions have been using the gnome-screensaver or kscreensaver screen-blanking frameworks by default instead of the framework included with XScreenSaver.[3] They still depend on the XScreenSaver collection of screen savers, which is over 90% of the package,[4] with the exception of gnome-screensaver version 3 and onward, which has dropped support for screensavers completely, supporting only simple screen blanking.

On Macintosh systems, XScreenSaver works with the usual Apple screen saver framework, and X11 is unneeded.

XScreenSaver is released under the terms of the X11 License.

Architecture

One reason for XScreenSaver's popularity is the modularity of its design, which makes it easy to add new display modes. The display modes (termed "hacks" from the historical usage "display hack") are each stand-alone programs invoked by the xscreensaver daemon. In this way, a third-party screen saver can be written in any language or with any graphics library, so long as it is capable of rendering onto an externally provided window.

For portability, the included hacks are all written in C, using libX11 and/or OpenGL 1.3.

An important feature of the xscreensaver daemon's design is that the display modes are sandboxed into a separate process from the screen locking framework. This means that a programming error in one of the graphical display modes cannot compromise the screen locker itself (e.g., a crash in a display mode will not un-lock the screen).

On Unix systems, running the hacks from the command line will cause them to open their own non-full-screen window.

Hacks

The included hacks are highly varied, ranging from simple 2D psychedelia, to 3D demonstrations of complex mathematical principles, to simulations of other computer systems, to re-creations of artifacts and effects from movies.

Though many of the newer hacks take full advantage of the power of modern computers, the age of the project means that some of the older hacks may look dated to modern eyes, as they were originally written for much less powerful computers.

Popular hacks include:[1]

Some of the included hacks are very similar to demo effects created by the demoscene:

  • Boing – based on the 1984 program regarded as the first Amiga demo ever, showing the bouncing red and white ball.
  • Bumps – an implementation of full-screen 2D bumpmapping.
  • MetaBalls – another common demo effect.
  • Moire2 – moving interference circles similar to those common in older Amiga demos.
  • ShadeBobs – another effect common in older Amiga demos.
  • XFlame – the filter-based fire effect, also known as flame effect.

See also

Media related to XScreenSaver at Wikimedia Commons

References

  1. ^ a b "List of screen savers included in the XScreenSaver collection". 2008-12-27. Retrieved 2012-09-10.
  2. ^ "XScreenSaver release history". 2008-12-27. Retrieved 2009-04-17.
  3. ^ "XScreenSaver FAQ regarding KDE/Gnome". Retrieved 2009-09-11.
  4. ^ "XScreenSaver source code distribution". 2008-12-27. Retrieved 2009-02-28.