xlockmore-4.00BETA as of 30 January 1997, the maintained version of xlock Adapted from Patrick J. Naughton's original xlock Primary site: ftp.x.org in /contrib/applications Secondary site: sunsite.unc.edu in /pub/Linux/X11/xutils/screensavers Maintainer: David A. Bagley http://megahertz.njit.edu/~bagleyd Make sure you use the new XLock.ad resource file (or at least remove the old one) otherwise several modes will not be set up nicely. This is usually put as a file in $HOME/XLock and/or $WHEREVER_X11_IS_LOADED/lib/app-defaults/XLock . BUGS to fix and other stuff to do See "Some open problems" in the README. 4.00BETA Patch for SGI to kill the Xsgi process when using 4Dwm thanks to Martin Ebert and Phillip Moore . Fix for colormap stuff, swirl in random mode could crash xlock, error made in ALPHA version. Thanks to Alexander Jolk for a update to lissie to handle -size . Thanks to Sergio Gelato for a bug fix for galaxy. Fixed a "Bad Match" generated with random mode for multi-headed color monitors using -install. Thanks to Rick Ohnemus for patches to NAS sound stuff. Typos were my fault. I noticed a problem with Solaris2 and dirent.h . xlock -mode image -imagefile ./bitmaps/ is supposed to pick a random file. This mechanism does not seem to work too well and may corrupt the filename when you give it a specific file name. Therefore for Solaris2, I compile without dirent.h. Check out utils.c and grep on Solaris2 to see more... One must give a specific filename on Solaris... here config/xlockrandimage.pl may help you. Thanks to Charles Vidal for starting another gui interface to xlock, xlock.tcl, in config directory. Moved xmlock, the Motif gui for xlock (also written by Charles Vidal), from hackers directory. Robert Duff patch to randomize the starting color of marquee. Same patch applied to blot, bouboule, braid, dclock, geometry, flag, helix, hop, kaleid, julia, qix, roll, rotor, spiral, spline, swarm, worm. On bomb, life, triangle this was not done on purpose and on others... flame and lissie it was done already. Leaks fixed in gear.c and bomb.c. Purify was not used so there could be others there. dclock should work correctly in password window... i.e. it should not get stuck, and randomized initial direction. penrose.c run with -verbose and it will tell you when it hits some weirdness (about once an hour) "Dislocation occured!" If it says "Weirdness...." it would have terminated previously. Updated make.com to use links instead of copies. Thanks to Jouk Jansen . Thanks to Tom Schmidt for fixing the formatting on the "hours elapsed since locked." message and logout patches. Also for adding several options to configure. Thanks to Tim Mooney for Digital Unix (aka OSF1) for patches to the Imakefile. Middle button fix and monochrome random mode fix for multiscreens. Multiscreen patch for marquee and nose. Updated xlock.h not to have a \ at the end a line with a #if. VAXC chokes. Updated size and batchcount in ball and size in pyro. Updated mode.c for maze. Incorrect if XLock.ad was not installed. Updated turtle.c. Incorrect HARTER_HEIGHTWAY mode and float casts to int to please the VMS god. Updated ant.c to handle more kinds of ants. Thanks to J Austin David . Check out http://havoc.gtf.gatech.edu/austin Hackers modes moved to main directory. cartoon.c may be kind of flashy with -install and without it you might not get any cartoons. Looks OK on monochrome. audio stuff for VMS is in config directory. Updated grav compiletime options now runtime options-> -decay and -trail. New "-version" option now pulls the version from version.h. Also added a more verbose option "-verbose" for maximum verbosity. -v now gets version instead. New "-sound" option added. It is off by default. If on it will only work if RPLAY, NAS, VMS_PLAY, or DEF_PLAY are used at compile-time. "Feature" where truncated mode names were accepted, such as "-mode s" now give an error. It did not work well anyway (above example ran shapes in monochrome). Thanks to Alexander Lehmann for adding backspace capabability Control-H for marquee (but not with -message). configure is now used. At this stage the Imakefile is still probably more reliable. The Makefile.[acc hp std sun] are no longer supported. (But are in config for reference). The Imakefile and make.com are still supported. imake has fallen out of favor with me. imake is sometimes not configured well, its make depend is confusing (some systems it is not required), and cumbersome (and ugly) "@@\"'s are used to do more complicated things. And it is not installed on some HP's. A few things have been added for configure, but NOT used with Imakefile or make.com: config.h.in -> config.h when "configure" is run. This file is where the users options are stored. These may depend more on the administrator/user than on the system, but some options are not available on some machines. See "configure --help". If this file is modified... a "make clean" should be done unless you know what your doing. Makefile.in -> Makefile when "configure" is run. configure.in -> configure when "autoconf" is run. Note: autoconf is a GNU product that may not be installed. This is need only if you update configure.in . Although there is some VMS support features in Makefile.in... full support for MMS, MMK, or VMS-GNU-MAKE is not there yet. 3.13 loop.c added, it is not exactly a screen saver, but it demonstrates self-production. turtle.c added. Recursive turtle graphics. The only one that works at present is the Hilbert curve (which is may not exactly be a turtle curve... but close enough). Thanks to M G Berberich for .plan and .signature stuff and purify log. bomb and signature updates for VMS thanks to Jouk Jansen . flag fix for negative size thanks to . MULTIPLE_ROOT & passwd in compat mode bug fix and NAS sound patch bug fix thanks to Dave Smith . Thanks to Tom L. Schmidt for purify logs. Many leaks patched thanks to Purify! grep on "PURIFY" to find unresolved leaks. 2 problems in the Imakefile cleaned up thanks to Simon Josefsson . Patch to allow marquee to handle extended character set >=128 Alexander Lehmann . XPM files now work with -install (thanks to XPM maintainer Arnaud Le Hors for pointing me in the right direction). Managed to reserve black and white, but not fg and bg does not work. Sometimes in random mode the colors are not mapped correctly. -geometry should now work again without excessive refreshing. Refresh update on image.c. ball, julia, roll in the hackers directory are probably ready for prime-time but have not been BETA tested. 3.12 swirl will cause xlock to dump core or CRASH OS within 50 repetitions when run in random mode, fixed. xlock -mode tri -mono dies, fixed. xlock -mode swirl +install with netscape (stealing colors) running is even less reliable, fixed. daisy and slip are sometimes in red when there are no colors left, fixed. After the delay has expired the first button click only redraws the current mode. It then takes a second click to activate the password display. Fixed thanks to David Hansen . Individual -size option added (like batchcount). -gridsize removed. If 0 it will use the bitmap if available. If negative it will be random from 1 to -size inclusive (like batchcount). Combined star mode with rock mode. rock mode removed. -trek, -rock, -straight options. Star Trek features by Heath Rice . dclock updated offscreen so there is no annoying flashing. Originally submitted by Michael Stembera . bomb mode back... but its essentials are NOT compiled in by default. Patches for SUNOS_ADJUNCT_PASSWD thanks to Mark Buglewicz . Many modes patched that did not initialize the redrawing variable. Demon bug solved when alternating between iconified window and normal window. mountain patched so it would not be so slow. life1d much improved. It now has a fade out if it is found repeating. Now can break without it completing a whole screen. -totalistic option added (+totalistic -> LCAU collection instead). Updated clock to use batchcount (i.e. many clocks) .. if there are too many collisions it will draw less clocks. Thanks to Rene' Driessen xlock -mode puzzle -mono ( -inwindow | -debug ) will get a Bad Match if obscured (but still errors out if moved off screen). Updated modes to use size instead of batchcount... clock, flag, maze, penrose. Updated modes to use size instead of cycles... bouboule, star. Updated modes to use size instead of worm's CIRCSIZE, and galaxy's STARSIZE. Updated other modes to use size bat, bounce, ant, demon, life1d, life, wator, wire. galaxy bug on VAX now gone... not sure why... Disappeared when I added temporary sin and cos calculations for efficiency. Thanks to Dr. George D M Ross for SYSLOG (xlock.c) and NETGROUP patches (logout.c). Thanks to Gabor Herr for pointing out that uid and gid privledges should be taken away unconditionally after the encrypted password is grabbed. Otherwise, it may lead to a major security hole depending on how it is installed. xmlock.c added to hackers directory. Thanks to Charles Vidal for starting a gui interface to xlock. Feel free to improve upon it, but mail me your diffs. -DUSE_HACKERS compiletime option added (cartoon.c took a step back, nobody's fault but mine). ant mode with -turchet memory leak found. Refreshing improved. 3.11 Ron Hitchens Updated xlock so it would refresh more reliably and handle window resizing and -inroot -neighbors is now randomly 4 or 6 if not 4 or 6. This affects the ant and demon mode. Thanks to Jouk Jansen . -help now displays help messages of each mode if there is one. Changed _opts to include a separate counter for opts and vars & desc since they do not have to be the same if there are boolean switches. Added a -truchet option to ant, this leaves a trail of the ant. One should probably change -gridsize to see it more clearly. Added a -erase option to spline, if used one should make -cycles low, say 20. My long request for a penrose algorithm has been answered :) , penrose.c added thanks to Timo Korvola . -ammann will show ammann lines. These were useful for debugging penrose.c . It is cuurently my favorite mode. Once I saw it do a dislocation, I think. tri.c added thanks to Desmond Daignault . I would like to see other fractals added to this like fern. daisy.c added. I modeled it after some slow PC lockscreen in the office. More 3d options besides rock: bouboule, pyro, & worms. Rock patched up. Now includes overlap color if colormap is installed. Thanks to Henrik Theiling . There is a bug on some machines with rock mode. A border of red can be seen around the magenta rock (which should be blue). This happens on my Sun with the colormap installed but not on Linux. Password code mallocs fixed up and BSD_AUTH code added thanks to Paul Borman . 2 problems in Kerberos code and 2 in the Imakefile cleaned up thanks to Simon Josefsson . Kerberos 5 added thanks to Dale Harris . Multi user per uid patch thanks to der Mouse . Now should compile under C++, but it complains about signaling, pclose, crypt, and gethostname when linking. All modes now have refresh hooks, but some just call the init_ hook. lissie, bug, rotor, spline -erase and worm hooks thanks to Alexander Jolk . On slip, penrose, and puzzle, I made no attempt. All modes now have change hooks. All except random call the init_ hook. So when running a mode you can get it to restart by pressing the middle button on your mouse. This does not work with the password window up but probably should. Added -debug runtime switch. Formerly accessed only by -DDEBUG. Some debug switches are still only accessed in this way. -rule for life and -rule3d for life3d runtime swtiches. Also a real change hooks for these modes. For -rule3d if set to 0 all rules that have known patterns will randomly selected. If set to 1 all rules that have known gliders will be randomly selected. "xlock -inwindow -lockdelay 10" now should work. Sped up sphere by not drawing off screen. Added a hackers directory for hackers. Added hooks to Imakefile for MesaGL. No mode uses this yet see the hackers directory. ------------------------------------------------------------------------------- Original author: Patrick J. Naughton Site: ftp.x.org in /R5contrib 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. This file is provided AS IS with no warranties of any kind. The author shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by this file or any part thereof. In no event will the author be liable for any lost revenue or profits or other special, indirect and consequential damages. ______________________________________________________________________ Patrick J. Naughton email: naughton@sun.com Sun Microsystems Laboratories, Inc. voice: (415) 336 - 1080 Maintainer: David A. Bagley