xlockmore-4.14 as of 23 June 1999, the maintained version of xlock Adapted from Patrick J. Naughton's original xlock Primary site: ftp://ftp.tux.org/pub/tux/bagleyd/xlockmore Secondary site: ftp://ftp.x.org/contrib/applications Web page: http://www.tux.org/~bagleyd/xlockmore.html Maintainer: David A. Bagley Majordomos: Mail to majordomo@tux.org with just subscribe [choice] [your-email-address] in the body. choice brief description ------ ----------------- xlock-beta Xlock beta and production announcements xlock-alpha Xlock alpha ("daily") release announcements xlock Xlock/Xlockmore development discussion If there is trailing signature junk, just put "end" as the last line to be read. If you need help just put "help" in the body. Please send all bug reports to bagleyd@tux.org . Alpha versions may be available through web page or ftp site. Adapted from Patrick J. Naughton's original xlock, with lots of help from others. BUGS to fix and other stuff to do see docs/TODO. 4.14 Peter Munster found a bug with -lockdelay and +mousemotion. Moving the mouse after the delay brought up the password window. For 4.15 I will probably add "#ident" stuff for all .h files. Started but commented out for now since it should be tested more. Update matrix in menus, man page XLock.ad, and gui programs. matrix: update to make it look more like the movie thanks to Joan Touzet . life: added a P88 oscillator to life.c from Paul Callahan http://www.cs.jhu.edu/~callahan/patterns/p1/p1.html and a diagonal sparker from Tim Coe http://www.cs.jhu.edu/~callahan/patterns/dspark/dspark.html thornbird: upgraded from author . xjack: fix for little window thanks to Jouk Jansen. text3d: -message "text" updates from Eric Lassauge and Jouk Jansen. Purify errors noted in text3d.cc thanks to Tom Schmidt. updates for fortunes from Jouk Jansen initialization errors of GLTT library. Thanks to Jouk Jansen and Scott . dclock: options y2k and millennium from Tom Schmidt . It uses local timezone and description was cleaned up. French translations by Eric Lassauge and Dutch translations from Jouk Jansen. Also Tom patched dclock up for NetBSD. flag: descriptions and purify errors from Tom Schmidt . -neighbors now a mode option. -mouse changed to -trackmouse -mousemotion was getting picked up instead. -shift, tshift and -cycle combined to -cycle for crystal, tetris, and starfish. Multiple options use in modes now possible. Set up only for -eyes for ant and bug. (Also another major test would be an option that passed an integer in). Code stolen from ParseCmd.c from X11R6.4 source and then made so argc and argv are NOT updated. Jouk Jansen fixed if for VMS. Jouk Jansen cleaned up the erase modes. New option -erasetime added which will cause the erase to come to an abrupt end on a slow machine. Default set at 2 seconds. Also made the erasing smoother... Also fixed a problem on starfish when size became 0. Resurrected some old code in ant.c so now ant and bug have an -eyes switch. (In the case of bug, it does not let the bug see any better, it just shows the direction its facing). So far its for neighbors = 4 or 8 only in ant ... (and bug also has neighbor = 6 setup). The graphics leaves some room for improvement. bug now can have 4 or 8 neighbors and restarts if all bugs die (this did not always work before). -cpasswd will now work if system uses shadow passwords even if not configured with --enable-xlockrc . matrix mode thanks to Erik O'Shaughness . Miscellaneous patches to this mode (less warnings, unexpected events, leaks thanks to Tom Schmidt, Jouk Jansen and myself). The font seems is from X11. rubik.c now supports LxMxN cubes where non-square faces turn 180 degrees. (nx2n 90 degree turns or known more generally as "banded cubes" is yet another level of complication which I will not attempt... yet). fizzle and spiral erase modes ported from xscreensaver thanks to Jouk Jansen . showmodes.sh fixed... need nawk or gawk not awk loop now has a mechanism to realize when the lifeforms are dead. Still some futile life is not caught (i.e life that will eventually repeat itself). A way for users to unlock each others display. Kind of defeats the lock but the unlocked user is mailed and and entry is written to syslogd. Thanks to Mark Kirk for his vizlock-1.0 patch. Compile-time switch for this is GLOBAL_UNLOCK. This is probably full of security holes when enabled... :) decay update. Now does not show user screen by default. +hide will decay the screen. Also want to update it so that it randomizes the position of the screen in the little password window when +hide is used. bug mode bugfix (fixed a rare segmentation fault) thanks to Mike Coleman . Cleaned up a warning in invert mode and some extra files. mandelbrot update by Tim AuckLand -binary Modulates the colours to indicate the "Binary Decomposition" of the exterior of the mandelbrot set. -dem Instead of displaying 'escape times', display an estimate of the distance between the point to be coloured and the set. xpm modes should refresh better now when the colormap changes. decay and lyapunov taken out of unstable category. lament changed for latest MesaGL version, text3d updates for fortunes thanks to Jouk Jansen Red and Blue swapped for -use3d to conform with my glasses from Sun, National Geographic, and Insight. Colormap problems fixed when two xlock (with -install) run (this can happen if xautolock is running and you lock the machine manually) thanks to Jouk Jansen New space mode from . Probably will combine the best features of star and space for a new star mode. You must compile it in with --enable-unstable even though it seems to be stable... Changed my e-mail address to bagleyd@tux.org... the old one will still work (as long as the new one does). 4.13 kumppa patch (kumppa wrote only to the right quarter of the screen) and make.com fix thanks to Jouk Jansen lyapunov array bounds read error fixed. New option "-/+description" on by default. Now can turn off description of mode above password window. crystal and tetris more xscreensaver more compatible (did not test it using xscreensaver). PAM ignored allowroot option, fixed by Sven Paas . Bernd 'Bing' Leibing fixed a compile bug for logout.c that I introduced in 4.12. I got a patch from Andrew Sumner . This provides a a way (simple edits to mode.h) to excluding unwanted modes. This is a global change to all modes (especially random) except the blank mode. Also affected are mode.c and mode.h. Lost bees now caught in flow thanks to original author Tim Auckland . This caused problems on VMS and probably would happen on BSD systems. lypapunov mode added. It is really slow. The way it is now -count is set at 600 (4000 is recommended for a high quality picture but this takes a real long time). So far its only available as a unstable mode. Needs a way to speed it up (Sci Am recommends a table of logarithms). Now with random forcing strings. (Hexadecimal representation shown with -verbose). Fixes for invert for pgcc compiler thanks to Tomasz Sulej . Thanks to Dan Stromberg for his update to mandelbrot. It now does subregions. lament problems with multiscreens fixed and kumppa problems fixed by David Hansen . He also noticed problems with life1d.c (SEGV'd in a malloc from XCreateGC), I have not been able to duplicate the problem). Found bug in xjack. When in small window a divide by zero would occur. Taken out of unstable. Thanks to Jouk Jansen his new tetris mode. It now extensively remodeled after altris. Taken out of unstable. Thanks to Tom Schmidt various fixes and leaks to rubik, lament, invert, text3d, flow, decay, and tetris. Also found problems with gltt which hopefully will be handled by the gltt maintainters. Thanks to Kenneth Stailey for his "hiv" add-on to dclock. I also added my personal hang-ups "lab" (research animals) and "veg" (consumed animals). Upgraded the last 2 to work off current year to get rid of arbitrary start year of 1970. decay mode from xscreensaver thanks to Peter D. Gray but it does not work yet. Proabably will add a nondefault uption where it will use your current image on screen to play around with. New compile-time option to activate: "CHANGEME". Have not tried it yet my machine is real slow. Fixed -fullrandom for multiscreens. Cool flow update by author Tim AuckLand . A camera is attached to one of the trained bees and Duffing's forced oscillator added. And multiscreen fix for tetris. Configure updates Various warnings about shadowing and prototyping removed. Removed -Wall on gcc since it creates too much noise. Will use it privately though. configure now assumes latest version of GL for lament. configure switch does not seem to work on my Sun. Also added a switch for conditional compile and link C++ code but not sure how to get it to work in configure (see top of configure.in). (This introduces problems in make.com which will soon be addressed.) I fixed the compile without --enable-unstable :). Took out lament and invert from unstable and put in xjack (partially put in before) and tetris (not that its unstable but it needs a lot of work). Put it a warning if your using --enable-vtlock that it is a pretty big security hole. Update for bsd from Thorsten Frueauf New lifeform for loop. I am not sure if its ever been done on a hexagonal grid (Nov 02 1998). The hexagonal grid to be is slightly more life-like since it maximzes a cell's area while minimizing its perimeter. (Currently working on a triangular version in a hex grid). Run xlock with the following "-mode loop -neighbors 6". Its cells use 6 states. Beware, this option is very liberal about declaring memory. Its not clear whether this lifeform for will survive on the infinite plane forever or choke on its own waste. loop made them more bomb proof similar to wire. Thanks to for pointing out that if DEF_PLAY is used it could be made to overflow. Fixed, not a security issue though. Another possible overflow in iostuff.c fixed (Jouk also fixed it too). Thanks to for his fix for multiheaded bug for starfish and link now uses thc CFLAG settings. There should not be calls to release_starfish in draw_starfish. Thanks to Tim Rowley for his new mode "invert", a demonstration of turning a sphere inside out without creating any kinks (two surfaces can occupy the same space at the same time). wire upgrades made more bomb proof... possibly an issue on a multihead monochrome. make clean should now work if ../configure is run in say xlockmore/linux. Thanks to Kevin Vajk for his fix if Xresources contains "xlock.mode: Something_really_long..." xlock would memory fault. Thanks to Remi Cohen-Scali and Eric Lassauge and Jouk Jansen for updates to text3d and configure for text3d. Also "*.h" files upgraded to handle C++ better. Thanks to Remi Cohen-Scali and Eric Lassauge for vtlock upgrade. Thanks to for his signature patch if a file has a NUL without a newline. Added -showplanes for hyper. Option looks real bad now but it may be improved upon later. All the planes that include the origin are shown. Port of xjack.c from xscreensaver by request. Most of the delays removed. configure change, added afs for Solaris configure change, removed --without-gcc, now just set CC before running configure. configure changes for app-defaults and X11R6.3 configure and util.c change for usleep for Ultrix. text3d updates for AIX from Jouk Jansen. 4.12 crypt(3) requires strings to be null-terminated. The 3rd character should be null. Does not matter for most implementations. Thanks to Bill Fenner . configure fix for afs thanks to Charles Hines . configure fix for group shadow on linux. Thanks to Jouk Jansen for the port of starfish and kumppa. starfish must be enabled (using configure --enable-unstable) to use... found unstable on multiscreens and possibly TrueColor. Multiscreen error (seen on Xnest and real multiscreens): X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 2 (X_ChangedWindowAttributes) On TrueColor it sometimes says it can not get all the colors. Also did the dclock Dutch translation. -fullrandom in 4.11 is confusing so I made it a special option under the random mode. Now can use g++ on Linux. Working on SunC++. Many stupid warnings removed. Thanks to Charles Vidal for his genlauncher. This tool (in etc) should help me maintain xlock. Still needs some work. (java, dt stuff) also in xalock and xmlock the #ifdef stuff gets stripped. Also created a new configure.tcl . Also did the French translation for dclock (accents were not available at the time). goop -count now has some effect. kaleid option for qix. Allow customization of .Xresources. If using configure uncomment CUSTOMIZATION part after running configure in config.h . Thanks to Robert Bihlmeyer . I personally would rather "xlock -display whatever:0" to work as it does in the original. If someone else thinks this default should change ... let me know. Thanks to Tom Schmidt various fixes and purify report. Patch for root with no password... not allowed to unlock... could this be a problem? Added verbose fix to color.c stuff. Also several fixes for bubble3d on SunOS, now considered stable. kumppa leak fixes and starfish leak fixes (one starfish leak remains?) Thanks to Jouk Jansen and Tom Schmidt for finding -bitmap leaks. Thanks to Remi Cohen-Scali and Eric Lassauge for: vtlock: xlock now VT lock switch when using -vtlock option. This is enabled for linux with the --enable-vtlock option of configure. This may or may not work on some versions of Linux, for example it does not work on the maintainers machine. :( (His latest did not make it in this release but tries to take care of the potential problem of "locking" a vt while another one is active (if using xautolock and two X servers for example).) I recently changed this option from lockvt to vtlock so I would not be confused. configure: add autodetection of MesaGL links (pthread/glide/vga) Autodetection of pthread caused xlock not to run for the maintainer so it was commented out. language: configure can select the lang used for elapsed time display. A grammar/syntax problem have been fixed in French language. The option selecting the language is --with-lang in configure. xglock: configure can search for GTK+. Makefiles are now generated in xglock if GTK+ is found. xglock have been adapted to gtk+-1.0.4. It is under development. ORIGINAL_XPM_PATCH: the ORIGINAL_XPM_PATCH define enabling the pixmap icon mail can be activated in configure with --enable-orig-xpm-patch option. bubble3d: this mode now has now randomly colored bubbles. text3d: compile with -DUSE_TEXT and GL but need g++ and the gltt lib. configure not set up for this so edit the generated Makefiles. This version works better but the Animate function needs still some work. More language stuff added in resource.c . It needs a few more German translations and other languages too (besides French and Dutch). To do more, each mode description would need to be translated. I currently think that would be hard to maintain, but I will not turn down a patch (to mode.c) on this if someone really wants to have this. atlantis should no longer flash. Fix for shadow passwords if the user no longer exists. popex (population explosion) and forest (tropical deforestation) options for dclock... really depressing. See dclock.c for where I get my numbers. Fade out converted from xscreensaver by Jouk Jansen. Still to do: -fade out the session at xlock startup fixed one, squaretate to draw with more granualarity so it would not be so slow on my slow machine. Update to crystal by Jouk Jansen to cycle colors like starfish. (Name of option changed from -cycle to -shift so +cycle would still work on starfish. Next version the maintainer hopes to have time to fix this...) hyper -use3d. Too bad humans only have 2 eyes... otherwise I would add a -use4d option and have it default to use green cellophane -popcorn option on hop works but the output seems different then a picture from my copy of Scientific American. mandelbrot update by Tim AuckLand changed from cut-off radius from 2 to sqrt(13) to improve resolution. Fix for julia has some initialize errors... pixels in upper left corner. Fix off by one error in triple_wipe. Fix for -fg red -bg green ... fading does not work here. starfish taken out of unstable since it is fixed for multiscreens. Similar changes for kumppa and crystal. Fix for the following: xlock -mode random -modelist image -bitmap /nonexistant/ xlock: caught signal 11 while running image mode (uid 561). xlock -mode random -modelist image -bitmap /nonexistant could not read file "gublety-gook" Converted Jamie Zawinski lament to xlockmore. This mode I just got working, so you need to configure with --enable-unstable . Needs OpenGL1.1 ... configure and Imakefile assume it for now. Beware of opening doors... Also stole Jamie Zawinski's neat depend/distdepend stuff. This gives errors if setup on linux. If setup on Sun (make distdepend after a normal configure) it seems fine. makedepend: warning: ../xlock/xlock.c: 13: # error architecture not supported by the Linux C library Took out xalock from building by default. configure gets tripped up by a Sun include file of the same name. kumppa now changes direction by -cycles 1000 . Fixed up distdepend and reorganized dependencies to be the minimum necessary. crystal, starfish, kumppa fixes for -mono and +install . automata modes to have borders when -neighbors 4 or 8 since the others have them. ant's squares should really be square now. Thanks to Marcelo F. Vianna for his new version of rubik.c . 4.11 atlantis mode thanks to Eric Lassauge ported from Mark J. Kilgard of Silicon Graphics. kaleid thanks to Robert Adam, II . -fullrandom capability added thanks to Jouk Jansen . kaleid is a totally new version. Make sure you reinstall XLock.ad. May resurrect the old kaleid in qix? bubble3d mode thanks to Richard Jones . Not sure about the name... bubble is taken and bubbles is taken in screensaver ... original name was glbubble. Seems to give problems on SunOS so it must be enabled (using configure --enable-unstable) to use. hyper mode thanks to John Heidemann . This was built independently from hyper. I did not understand some of the color stuff and through it away in the name of speed (quick coding and quick exec). Took move_line from the xscreensaver port. -fullrandom added to mountain, triangle, and petal for wireframe the first 2 include a joke... mixed wireframe/solid Yet another try to solve the colormap problems with fvwm and tvwm. New compile-time option for this COMPLIANT_COLORMAP. Currently this is off by default since this fails on TrueColor. (See config.h[.in] for more info). Fixed white background on goop with +install. Also some day I have to add back some of its xscreensaver options. Thanks to Charles Vidal for his improved xlock.tcl . He is also starting a configure.tcl... do not expect it to work yet. ;) Thanks to Tom Schmidt for fixing up the mailCmd to a later point in the password screen since it could take several seconds to run with the mail automounted. Thanks to Jamie Zawinski ansi and mono fixes for flow.c. Jamie also fixed global -no- options in xlock when compiled under xscreensaver. Fixed some compilation problems when compiling in xscreensaver. glx stuff is now in sync with xscreensaver-2.17. multiscreen fix for DT. Sometimes it uses the DefaultScreen and sometimes it uses all its screens. Bug fix, food for bugs not updated. configure fix for Linux and shadow thanks to Robert Bihlmeyer . new ant. Size does not get too small except if the user wants it or there is only a small space (iconified). -sharpturn option mainly for neighbors = 6 but also works for 12. This new option easily degenerates bees/ants to create highways. Also worked on getting the truchet lines better... still not perfect. fullrandom option now defaults on... this will probably cause confusion when certain options are selected but most users probably do not run it with options anyway. batchcount depreciated ... it still works but not as a resource. Use count. xscreensaver/xautolock problem found. If using a xlock executable with xscreensaver see xlock/vroot.h . lisa looks a little better. I messed up the refreshing... oops. If saturation not 1.0 it will run out of colors frequently if the colormap is constant... I now retry it as 1.0. (No COMPLIANT_COLORMAP). Fix for BSD_AUTH thanks to Douglas Berry . ------------------------------------------------------------------------------- Original author: Patrick J. Naughton Site: ftp.x.org in /R5contrib Copyright (c) 1988-91 by Patrick J. Naughton. 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