xlockmore-5.47 as of 8 May 2016, 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: http://www.tux.org/~bagleyd/xlock Alternate site: ftp://ibiblio.org/pub/Linux/X11/screensavers Web page: http://www.tux.org/~bagleyd/xlockmore.html Maintainer: David A. Bagley Primary key fingerprint: 1B79 C847 8F23 6DCD ADC0 D6AC CF15 9707 3779 19AE Mailman lists: http://calypso.tux.org/cgi-bin/mailman/listinfo If you are interested in contributing to XLock development and/or maintenance or just want to be notified when the latest stable version comes out. choices brief description ------- ----------------- xlock-announce Xlock beta and production announcements xlock-discuss Xlock/Xlockmore development discussion Xlock alpha release announcements now part of development discussion. Due to large amounts of spam, mail sent to these groups without becoming a member may end up ignored. 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. 5.47 DESTDIR fixes. 5.46 xmb fonts messing up password screen since ascent was not being set correctly. Also fixed xjack mode. Updated language use in xlock.c, now removed to .h files. If I made some bad assumption about the language... let me know. BSD install fixes (DESTDIR, FreeType2, fortune) and switching to xz. Cygwin install fixes (cygport, xlockrc). 5.45 A bad value of fnt for pyro2 could cause to give an X error. Fixed to not free memory we are using and have a better default. 5.44 Fix for make_one_sided_pentomino was using 18 as basis for 2 sided pentominoes in loop. Found out about it by gcc 4.8.1 warning: iteration 12u invokes undefined behavior [-Waggressive-loop-optimizations]. dilemma, voters, wator size fix for neighbors = 6. Proper crediting of Nathan Thompson for discovering High Life part of life mode. A few new gliders and patterns for life and life3d. Updated win32 to use updated cygwin. Currently links are only satisfied using cygwin using 32-bit installation. For me, cross compiling using 64-bit gave undefined references in visgl.c and xlock.c. magick.c update for version 7, thanks to Jouk Jansen. 5.43 life3d: added new rule B58S58, which has a replicator. -e added to shell in Makefile.in, told it should now stop on build errors, rather than trying to continue which could be confusing. Thanks to Glyn Kennington . If crypt fails (which is possible with glibc2.17) it could cause xlock to get a signal 11. There is now protection around the strcmp() to prevent NULL poiter dereferences thanks to Mancha . 5.42 USE_MB now defined by default. If this is not defined it can only correctly display ASCII. There could be font issues which may lead one to want only ASCII (if so use configure --disable_mb). Also looked into Xutf8 but did not see any benefit this had over Xmb. Password window and the following modes: bomb,dclock,image,marquee,nose are affected. Fixed a few problems with marquee for width, height, and if a character needs more than 2 bytes. In Cygwin a seemingly unrelated fix where USE_MB gets defined in xlock.h. An #undef was added in xlock.h, if USE_MB gets defined in an internal include file. -lcrypt added to modes/Makefile.in. This is needed on my Linux Ubuntu and seems ok on Cygwin where it was not needed. (If this causes a problem remove from modes/Makefile). Also tested on FreeBSD. cppcheck fixes passwd.c: passcpy could be freed twice iostuff.c: could have left file open ras.c: leak if mem fails resource.c: check if malloc succeeded was in wrong spot sound.c: ESound, a redundant check memcheck.c: continuing after memory failure dclock: problem with parens in ifdefs rain: leak fix ( :) ) t3d: uninitialized time1 (unlikely but fixed anyway) molecule: leak if mem fails text3d: leak if nothing to draw 5.41 ant3d: fixed eyes (occasionally was drawn on wrong face). Scaled down size by factor of 10 as it could cause a hit on cpu when large. dclock: fix for segmentation violation noticed on NetBSD and now more Y2038 safe thanks to Ignatios Souvatzis . life3d: rule B46/S34 and B45/S56 were broken for 14 neighbors 5.40 life: fixed goof for neighbors 9 and 12. Fixed merged triangles for windows version. life3d: better colors for "shading" cells. ant3d: slightly more efficient, also black cells are now removed. Fixes from Tom Schmidt (thanks!) Declarations need to be immediately after paren for compiling on gcc 2.95.3 Fix typo in configure.in/configure for magick docs/Purify.sunos5 generic path change Fix a memory leak in modes/glx/juggler3d.c Noticed leak in latest changes of ant3d.c (fixed) Noticed another leak in juggler3d by gltrackall (fixed) 5.39 life, life3d changed rule default format to be B/S instead of S/B as in Bays' papers. Wikipedia life entry has it in this format. Fixed life3d.h warning on VMS. life: added more space for triangle and pentagon in life as sometimes adjacent cells would be joined. Still looks bad in Windows though. demon: added -colorsonly option, now restarts when hits steady state... happens frequently on Cairo Tiling but probably could happen in any grid. magick update from api.h to MagickCore.h, thanks to Jouk Jansen. fzort change to use C Runtime Library (C-RTL) patch needed for shxxx routines, thanks to Jouk Jansen. 5.38 Added -mayan option to dclock to count down to end of world (using local time for 2012 December 21 (until we know differently :) ) fixes for y2k and millennium... the offset from GMT was subtracted instead of added. 5.37 life3d mode: rhombic dodecahedral life internal format now uses even cells instead of odd (thought to be more straighforward as (0, 0, 0) is a cell). biof mode: removed as I now see it has a GNU copyright, created a patch xlockmore-$VERSION+gnu.tar.bz2 5.36 Fix for magick.c for small bitmaps like in life1d thanks to Jouk Jansen. Multiscreen fix for life.c thanks to Bill Totten (broken since 5.33 I think). 5.35 life3d mode: fix a display bug introduced in 5.34 (-neighbors 14 not working right). Reorganized shooters and made more random. life mode: changed non-grelb life cells to trend to be smaller. Resynced life.h and life3d.h with lots of new forms found in my java app. make.com modified to work on an Itanium OpenVMS system thanks to Jouk Jansen. magick.c modified to work with current version of Imagemagick thanks to Jouk Jansen. configure was updated to find magick. 5.34 DPMS changed from 30 sec to 5 sec. Define -DMIN_DPMS=3 at compile-time if you would like to change it to be sooner. life mode fix for hexagons, life forms would not map certain screen sizes life mode: Added new neighbor 9 ship, added asym ships for neighbor 12 S356/B46, and added some new oscillators including a neighbor 6 p16. Now (mostly) use generated file from java app and life2d.xml. life3d mode: Added new some new oscillators including a neighbor 12 p10 S456/B3. Also new puffers and gliders found. Now use generated file from java app and life3d.xml. loop mode: made new small loops less frequent 5.33 Took out mode description on screen for WIN32 as it seems to mess up the screen frequently. life updates: added 2 more triangle rules from Carter Bays's applet. added a few more life forms to life (hexagonal) added a non-totalistic rule to life (square) known as Rule 3/2ab3 but for consistency it is known here as S2a2b2c2d3/B3. life3d added new life forms to truncated octahedral. ant/demon/life updates for -neighbors 5 or 7. Now with better pentagons. ant with -neighbors 5 should now work properly (7 removed). loop update added Byl and Chou-Reggia (1&2) loops, changed colors to be more traditional 5.32 life3d update for -neighbors 14, new truncated octahedral life form. ant & demon updates for -neighbors 5 or 7 5.31 -xinerama option added off by default. cppcheck ran for xlock subdirectory, most complaints cleaned up. It finds leaks and other problems in paths not usually visited so would not usually show up in purify, which does a runtime check. I have not seen a false positive yet, so seems like a good tool. 'make cppcheck' added. 5.30 atlantis, atunnel, biof, bubble3d, cage, fire, gears, invert, lament, moebius, morph3d, noof, pipes, rubik, sballs, sierpinski3d, skewb, sproingies, stairs, and superquadrics added to Windows version (atunnel, fire, lament, and sballs lack textures). skewb mode now scrambles, taken out of unstable category. Undo a cleanup in vroot.h, as xlock exits on startup with a BadWindow on pievwm and tvtwm. 5.29 juggler3d mode stolen from xscreensaver with help from Tim Auckland. Jouk Jansen made safe for VMS and fixed colour problem. nose: cleaned up for win32. Still do not know why this mode has bottom task bar. petri: crashed due to shift of int, fix from Dr Nigel Warr . petri improved for win32, should not be red all the time now. penrose should be working again. Other small fixes for life, etc. image: image set right away and added option -icononly to only display image when in password window Xinerama patch so the password window will be displayed on one screen thanks to Kaelyn Uhrain . (On the wish list would be to have password window on screen with mouse instead of first screen. SuSE patch set thanks to Stanislav Brabec and Petr Gajdos . For problems in code and compiler warnings: fixes build with GLTT and FTGL modules, return if fontset is null instead of crash, fixes strict-aliasing compiler warning, makes void function not returning anything. life3d: resync with my Java code for new patterns. xlockrc (use of xlock without system password) did not actually check if Key portion matched Again portion. Also now deletes null .xlockrc file when there is a mismatch. 5.28 invert: build failures from Sun Studio Express C++ like this: Error, manymatchover: Overloading ambiguity between "operator^(const TwoJet, double)" and "built-in operator^(int, int)" fixed by casting to double, thanks to Tim Mooney . life3d: 4 more rhombic dodecahedron S3/B3 patterns including a period 4 pattern (only S3/B3 period 2 and less patterns left from Bays' papers). Glider code revamped to make more maintainable, using populateGlider(). unsigned int fix thanks to Jouk Jansen. Added new cube gliders from Bays 2006 3D Life paper and found a few patterns for the gliders to crash into. (S23B5, S25B5, S27B5, S35B5, S36B5, S37B5, S38B5, S4B5, S47B5, S57B6, S58B5, S8B5). New mode option added "+draw", this turns off drawing to the screen to speed up searches, and more importantly, make less annoying :) life: resyncing with my Java code. Switched how static triangular forms are stored Added a lots of new triangular patterns, including 2 gunship triangular patterns. Also added handful of other patterns. Reading memory on uninitialized variables fix thanks to Jouk Jansen. "+draw" mode option added. Pentagonal (Cairo Tiling) life added with glider shooters. "xlock -mode life -rule S23B346 -neighbors 7" or "xlock -mode life -pent2". New gliders found by David Bagley, one in 5 neighbors pentagonal life (-rule S24B2) "xlock -mode life -pent", the other in 9 neighbor triangular life "xlock -mode life -neighbors 9" (-rule S3B34). Associated periodic patterns for each added. Added more symmetries and now have all the random symmetries (at least I think so) for squares, hexagaons, triangles, and pentagons. Proportions fixed for pentagons. New live chars accepted by -lifefile . One more triangular life form shooter added. Macro FTGL213 added for new FTGL library. If you need it to compile text3d2.cc, make sure it compiles with -DFTGL213. Should work automatically for VMS though, thanks to Jouk Jansen. 5.27 PAM_putText() would set pointer resp->resp to buffer. This will work until memory is reused. Thanks to Howard Kash . ico updated to show the two edge transitive Catalan solids, i.e. the rhombic dodecahedron and the rhombic triacontahedron. Added __linux__ to define list to allow newer sig masking to get rid of pesky deprecated message. configure checks for libXdpms libXext has the DPMS functionality on both XFree86 4 and X.org. (libXdpms may be Xfree86 3.x). Added /usr/pkg/lib and /usr/pkg/include to long list of paths it checks in. life added more life forms triangular life from Bays' paper and added S245B3 with glider (-neighbors 8) from Bays' paper. Found some patterns in S245B3 for the glider to crash into. life3d -rule S45/B4 -neighbors 18 and -rule S45/B4 -neighbors 20 from Bays' paper. Found some patterns for the gliders to crash into. life3d -search added. Need to add more symmetries for 3D. life3d -rule S3/B3 -neighbors 12 and -rule S456/B3 -neighbors 12. Added a bunch of patterns from Bays' papers but not all. -neighbors 12 now a rhombic dodecahedron instead of a cube. ant3d -neighbors 12 (3d bees). Added eyes option to this. Just noticed solitaire a mode I added was spelled wrong, ie it was spelled without the second "i". Fixed a goof in solitaire.cc. 5.26 "Esc" key now resets password entry. Do not put an escape in your password. This should behave the same as Control-U. -showdate added. +showdate allows you to turn off date in password window. Also fixed centering for this. Inverted bitmap for xlock. Added a icon for VMS. Updated the Java launcher in xlock. antic cleanups. It found a few minor bugs but mostly makes the code more readable (without being too overbearing IMHO). The current version trips on #ifdefs though. New mode pyro2: -mode pyro2 -msg 'MSGSTR' -fnt 'FONT' MSGSTR consists of following elements: EXPLOSION is one of &0, &1, ... &9, &a, .. &f each of which presents a different type of explosion. TEXT is a text string like 'linux'. the string may contain blanks. '\n' is interpreted as a new line. '\\' is a backslash. '\&' is an ampersand. LOGO is the sign #. An exploding penguin or other icon will be shown. FONT is something like '-*-helvetica-bold-r-*-240-*' the font to be used. Thanks to Pezhman Givy . Modifications for +install, -mono, and Windows. New resource files for Chinese... Xlock-zh_TW.ad, resource-msg-zh_TW.h, xlock-msg-zh_TW.h. Thanks to Wei-Lun Chao . Following this example, I split out the different languages from XLock.ad as it seemed odd when editing and did not want to corrupt anything, especially if I could not verify it. Automata modes now have triangular tilings drawn with a black triangle around it. Fixed dilemma, for it only is interesting with 4 or 8 neighbors. ------------------------------------------------------------------------------- Original author: Patrick J. Naughton Site: ftp.x.org in /R5contrib The changes in the original xlock 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 AT sun.com Sun Microsystems Laboratories, Inc. voice: (415) 336 - 1080 Maintainer: David A. Bagley