1 /*****************************************************************************
2  *
3  * Authors: Michel Eyckmans (MCE) & Stefan De Troch (SDT)
4  *
5  * Content: This file is part of version 2.x of xautolock. It declares
6  *          all option and X resource processing support.
7  *
8  *          Please send bug reports etc. to mce@scarlet.be.
9  *
10  * --------------------------------------------------------------------------
11  *
12  * Copyright 1990, 1992-1999, 2001-2002, 2004, 2007 by  Stefan De Troch and
13  * Michel Eyckmans.
14  *
15  * Versions 2.0 and above of xautolock are available under version 2 of the
16  * GNU GPL. Earlier versions are available under other conditions. For more
17  * information, see the License file.
18  *
19  *****************************************************************************/
20 
21 #ifndef __options_h
22 #define __options_h
23 
24 #include "config.h"
25 
26 typedef enum
27 {
28   ca_ignore,     /* ignore corner    */
29   ca_dontLock,   /* prevent locking  */
30   ca_forceLock   /* lock immediately */
31 } cornerAction;
32 
33 typedef enum
34 {
35   msg_none,      /* as it says                           */
36   msg_disable,   /* disable a running xautolock          */
37   msg_enable,    /* enable a running xautolock           */
38   msg_toggle,    /* toggle a running xautolock           */
39   msg_exit,      /* kill a running xautolock             */
40   msg_lockNow,   /* tell running xautolock to lock now   */
41   msg_unlockNow, /* tell running xautolock to unlock now */
42   msg_restart    /* tell running xautolock to restart    */
43 } message;
44 
45 /*
46  *  Global option settings. Documented in options.c.
47  *  Do not modify any of these from outside that file.
48  */
49 extern const char   *locker, *nowLocker, *notifier, *killer;
50 extern time_t       lockTime, killTime, notifyMargin,
51                     cornerDelay, cornerRedelay;
52 extern int          bellPercent;
53 extern unsigned     cornerSize;
54 extern Bool         secure, notifyLock, useRedelay, resetSaver,
55                     noCloseOut, noCloseErr, detectSleep;
56 extern cornerAction corners[4];
57 extern message      messageToSend;
58 
59 extern Bool         killerSpecified, notifierSpecified;
60 
61 #ifdef VMS
62 extern struct dsc$descriptor lockerDescr, nowLockerDescr;
63 extern int                   vmsStatus;
64 #endif /* VMS */
65 
66 extern void processOpts (Display* d, int argc, char* argv[]);
67 
68 #endif /* options.h */
69