• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

contrib/H28-Dec-2007-2214

include/H03-May-2022-398178

src/H03-May-2022-2,0101,294

ChangelogH A D28-Dec-200715.9 KiB322314

ImakefileH A D06-May-20012 KiB7055

LicenseH A D03-Jan-20021,016 2116

ReadmeH A D28-Dec-20078.7 KiB241171

TodoH A D06-May-2001933 2718

VMS.notesH A D06-May-20012 KiB4533

xautolock.manH A D28-Dec-200716 KiB404372

Readme

1
2PURPOSE
3=======
4
5Xautolock  monitors  console activity  under the X window system, and
6fires  up  a  program  of your choice if  nothing  happens  during  a
7user configurable  period of time.  You can use this to automatically
8start up a screen locker in case you tend to forget to do so manually
9before having a coffee break.
10
11Xautolock  will  typically  be used to lock the screen but it  really
12doesn't care what program you make it start. The only real assumption
13made  by  xautolock  is that  a new countdown  starts  as soon as the
14locker exits.
15
16
17WHAT'S NEW
18==========
19
20Nearly 6 years after the release of version 2.1,  version 2.2 fixes a
21few  minor things,  but most of all features  freshly updated contact
22information, as I have left my previous employer in 2006.
23
24For more details on any of the changes, refre to the Changelog file.
25
26
27HOW TO USE IT
28=============
29
30Just read the man page, it's really simple.
31
32If you're on VMS, you should also check out the VMS.notes file.
33
34
35HOW IT WORKS
36============
37
38If  xautolock  has been compiled to  support either the Xidle, or the
39MIT ScreenSaver  extensions  (or both),  it first tries  to find  out
40whether the X server also supports one of them. If it does, xautolock
41will  periodically  call it to  determine the amount of time  elapsed
42since the last input event, and will then base its actions upon that.
43
44In the absence of both extensions, xautolock starts by traversing the
45window tree,  selecting  SubstructureNotify on all windows and adding
46each window to a temporary list.  About +- 30 seconds later, it scans
47this  list,  asking  for  KeyPress  events.  However, it  takes  care
48to interfere  as  little  as  possible  with  the  event  propagation
49mechanism.  This is the  reason  for the  delay  between  the  moment
50xautolock  learns  about  a new window  (and  consequently  asks  for
51SubstructureNotify  events)  and  the  moment  it  asks for  KeyPress
52events. Whenever a new window is created by an application, a similar
53process takes place.  In contradiction  to what many people  believe,
54this scheme does not cause a noticeable overhead.
55
56In addition, xautolock periodically issues a  QueryPointer request in
57order to  find out  whether  the pointer has moved  and implement the
58"corners" feature as decribed in the man page.
59
60If nothing happens within a user-specified period of time,  xautolock
61will fire up a program  which is supposed  to lock the screen.  While
62this program is running, xautolock itself remains on the look-out for
63user interaction.
64
65
66COMPILING XAUTOLOCK
67===================
68
69Xautolock should compile straight out of the box. Here's the recepy:
70
71 1. Edit the Imakefile to your likings.
72
73 2. Type:
74
75     xmkmf
76     make
77     make install
78     make install.man
79     make clean
80
81 3. Have fun.
82
83If this procedure fails, the most likely reason is the absence of the
84MIT ScreenSaver extension on your system. If this is the case, simply
85edit the Imakefile accordingly and try again.
86
87If compilation fails because MIT ScreenSaver is not available, do the
88following:
89
90 + Find out  whether the  X server  supports it  (use the  xdpyinfo
91   command for this).  Quite often it will, even if the support for
92   compiling  programs  with it is absent.  If this applies to you,
93   nag  your sysadmin and/or vendor about it.  MIT ScreenSaver is a
94   pretty  standard extension that IMHO should be provided with any
95   X based system.
96
97 + If you  cannot  find MIT ScreenSaver,  repeat the same procedure
98   with  Xidle  (except  for the  `nag your vendor'  bit).  If your
99   server  supports  Xidle,  but  you do not have  the  development
100   files and  cannot  find them on the web, just send me and e-mail
101   and I will forward you a copy.
102
103 + If you are still out of luck, use the good old backup mechanism.
104   Xautolock wil be just as happy without server extensions.
105
106Nowadays,  all modern X servers come with  MIT ScreenSaver.  However,
107some (or most/all?) of the HP ones  apparently  don't,  so by default
108this feature is  disabled  on HP-UX. Simply edit the Imakefile if you
109disagree.
110
111
112KNOWN BUGS
113==========
114
115Important notice:  the first two bugs listed here are only present in
116case xautolock  has been compiled with support for neither the  Xidle
117nor the  MIT ScreenSaver  extensions,  or in case the X server  being
118used does not support them.  They make up a good reason to get one of
119these extensions installed.
120
121 1. If, when creating a window,  an application waits for more than
122    30 seconds before calling selecting KeyPress events on non-leaf
123    windows,   xautolock  may interfere with the event  propagation
124    mechanism.  This  effect  is  theoretical  and  has never  been
125    observed  in real life.
126
127 2. Xautolock  can not properly handle  the secure keyboard mode of
128    xterm, since  that  will prevent any other  process,  including
129    xautolock,  from  noticing  the  keyboard  events  aimed at the
130    xterm.  Consequently, xautolock sometimes will think that there
131    is no keyboard activity while in reality there is.
132
133 3. Under some configurations, xautolock fails to exit upon logout.
134    This  problem can occur  (but does not always do so)  under the
135    following combined circumstances:
136
137     + Xautolock is started in background from within a .xinitrc.
138     + Your are trusting your windowmanager to kill all X processes
139       when quitting  (which, by the way, is not a good idea).  One
140       well known  source of problems in this area consists of olwm
141       and its look-alikes.
142     + The .xinitrc contains a "wait"  statement to make it collect
143       all background processes upon logout.
144
145    The  simplest workround for this problem is to start  xautolock
146    from within a subshell. I.e. use this:
147
148      ( xautolock & )
149
150    On Solaris  an alternative solution  (which basically works  in
151    exactly the same way) is to use this:
152
153      toolwait xautolock
154
155 4. The -disable,  -enable,  -toggle,  -exit, -locknow, -unlocknow,
156    and  -restart  options  depend on  access to the X server to do
157    their work.  This implies  that  they will be suspended in case
158    some other application has grabbed the server all for itself.
159
160 5. Xautolock  does not check  whether  the screen locker specified
161    actually is available.
162
163 6. The xautolock resources have a dummy resource classes.
164
165If you can find others, please notify mce@scarlet.be.
166
167Note that,  while  I still scan most  X related newsgroups,  I do not
168actually  read  them on a  regular basis  anymore,  as X no longer is
169a part of my job.  I do still  actively  support xautolock on a daily
170basis, though.  Hence you are  much more likely to get  quick help if
171you contact me directly.
172
173
174WARNING
175=======
176
177It looks like there is a bug in  the event management code of some  X
178servers  (amongst  which  both  X11R4 and  X11R5 on older versions of
179SunOS).  If you are using  version 1.7 of xautolock (previously known
180as patchlevel 7), it is best to reset  the server before switching to
181version 1.8 or later.  If you fail to do so, an old  version 1.7  bug
182may  still show up.  (Some keyboard  events were  being  hijacked  by
183version 1.7  of  xautolock, particularly when using tvtwm).
184
185
186CONTRIB DIRECTORY
187=================
188
189The  contrib  directory may  contain  various patches  that have been
190contributed over time. If a patch is in there, I have for some reason
191or  another decided not to include it in xautolock proper,  but still
192consider  it to be sufficiently usefull  to other people  in order to
193add it to the distribution.
194
195Note  that the contents of  the contrib directory are  *not*  part of
196xautolock. Each of the contributions lives under its own copyright.
197
198In versions 2.1 and 2.2 of xautolock, the contrib  directory is empty,
199since due to a lack of time I did not feel like porting the stuff that
200used to be in there prior to the 2.x versions.  Maybe it'll be back in
2012.3 or so.
202
203
204COPYRIGHT
205=========
206
207Copyright  1990, 1992-1999, 2001-2002, 2004, 2007  by Stefan De Troch
208and Michel Eyckmans.
209
210Versions 2.0 and above of xautolock  are available under version 2 of
211the GNU GPL.  Earlier versions are available under other  conditions.
212For more information, see the License file.
213
214
215AUTHORS
216=======
217
218Xautolock was conceived, written, and performed by:
219
220 Michel Eyckmans (MCE)       mce@scarlet.be
221 Stefan De Troch             <e-mail private>
222
223Please  send queries for help, feature suggestions, bug reports, etc.
224to mce@scarlet.be only.
225
226
227ACKNOWLEDGEMENTS
228================
229
230Special thanks to:
231
232 Kris Croes                  croes@imec.be
233
234And the many people who submitted bug reports, patches, suggestions,
235kudos, etc.
236
237No thanks to a certain commercial X server provider who  volunteered
238to beta test version 1.9 on many,  *many* platforms  but didn't live
239up to it.  Also our apologies to the candidate beta testers who were
240not retained because of this candidate.
241