 
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.

 
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.


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
