PURPOSE ======= Xautolock is a program which monitors console activity, and starts up a program of your choice if nothing happens during a certain time interval. You can use this to automatically start up a screen locker in case you tend to forget to do so manually before having a coffee break. On VMS, two versions of the program exist, one of which (xautolock) uses execl to run its locker, the other using lib$spawn, which permits use of xlock instead of decw$pausesession. Files xautolock*_TV.exe are Alpha AXP versions; the other .EXE files are for VAX. HARDWARE PLATFORMS ================== We have used xautolock on the following hardware without problems : DECstation 3100 to 5500 HP Apollo 9000/4xx (Sr10) Sony News 1800 Sparc II VAXen (Ultrix) Other people have reported that it should also work on : Sun386 IBM RS/6000 VAXstation 3100 An earlier version also ran on the following machinery, but we no longer have those, so testing it was a bit difficult :-). Sun 3/60 Apollo 3000 to 4500 HOW TO USE IT ============= Just read the man page, it's really simple. On DECwindows you can install xautolock as one of your auto-startup images, or otherwise arrange for it to run. HOW IT WORKS ============ When xautolock starts executing, it traverses the window tree, selects SubstructureNotify on all windows and adds each window to a temporary list. About +- 30 seconds later, it scans this list, and now asks for KeyPress events. However, it takes care to interfere as litle as possible with the event propagation mechanism. This is the reason for the delay between the moment xautolock learns about a new window (and consequently asks for SubstructureNotify events) and the moment it asks for KeyPress. Whenever a new window is created, a similar process takes place. In addition, xautolock issues a QueryPointer request once a second, in order to find out wether the pointer has moved. If nothing happens within a user-specified period of time, xautolock will fire up a program which is supposed to lock the screen. While this program is running, xautolock itself remains on the look-out for user interaction. In contradiction to what many people believe, this scheme does not cause a noticeable overhead. COMPILING XAUTOLOCK =================== Xautolock should compile straight out of the box. Just do the following : 1 : Type xmkmf make make install make clean 2 : Have fun. KNOWN BUGS ========== If, when creating a window, an application waits for more than 30 seconds before calling XSelectInput (), xautolock may interfere with the event propagation mechanism. In order to minimize the risk of this happening, an extra delay of 20 seconds has been inserted into the xautolock initialization sequence. This was done because xautolock is most likely to be started automatically when a user logs in, and that process can be rather time-consuming. Xautolock does not check whether the screenlocker specified actually is available. The xautolock resources have no resource class. If you can find others, please send e-mail to one of the authors. WARNING ======= There is a bug in the event management code of some X servers (amongst which both X11R4 and X11R5 on Sparc). If you are using patchlevel 7 of xautolock, it is best to reset the server before switching to patchlevel 8. If you fail to do so, an old patchlevel 7 bug may still show up. (Some keybaord events were being hijacked by patchlevel 7 of xautolock, particularly when using tvtwm). COPYRIGHT ========= Copyright 1990, 1992 by S. De Troch and MCE. Permission to use, copy, modify and distribute this software and the supporting documentation without fee is hereby granted, provided that : 1 : Both the above copyright notice and this permission notice appear in all copies of both the software and the supporting documentation. 2 : You don't make a profit out of it. DISCLAIMER ========== THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AUTHORS ======= Xautolock was conceived, written and performed by : Stefan De Troch detroch@imec.be Michel Eyckmans (MCE) eyckmans@imec.be ACKNOWLEDGEMENTS ================ Special thanks to : Kris Croes croes@imec.be And the patchlevel 8 beta testers : Paul D. Smith paul_smith@dg.com Brian brian@natinst.com