/*** external declarations for settings ***/
#define NUM_TOGGLES	9
extern BOOL toggles[NUM_TOGGLES];
#define clicktofront	toggles[0]	/* window depth-change by mouse-clicks */
#define	clicktoback	toggles[1]	/* ditto */
#define	autopoint	toggles[2]	/* sunmouse */
#define	keyactivate	toggles[3]	/* key over window activates */
#define	screencycle	toggles[4]	/* clicktoback over backdrop or no window */
#define	insday		toggles[5]	/* insert day */
#define	insdate		toggles[6]	/* insert date */
#define	instime		toggles[7]	/* insert time */
#define mouseblank	toggles[8]	/* blank mouse when key pressed */

typedef struct {
	char	*tooltype;	/* tooltype assoc. with toggles */
	UWORD	gadid;		/* index to CheckBox gadget array */
	BOOL	defval;		/* default value */
} TOGGLEDATA;
extern TOGGLEDATA toggledata[];

/* hotkeydata structure */
#define MAXKEYLEN	30		/* enough? */

struct HotKeyData {
	LONG		msgid;		/* message id of filter */
	CxObj		*filter;	/* filter assoc. with hotkey */
	char		*ttype;		/* tool-type name specifying key */
	char		key[MAXKEYLEN];	/* key-string for this hotkey */
	char		*defkey;	/* key-string for this hotkey */
};

#define HK_POPKEY	0L	/* pop-up settings window */
#define HK_CLOSEKEY	1L	/* close window */
#define HK_ZIPKEY	2L	/* zip window */
#define HK_SHRINKKEY	3L	/* shrink to smallest size */
#define HK_ZOOMKEY	4L	/* enlarge to greatest size */
#define HK_WORKBENCH	5L	/* activate (a) Workbench window */
#define HK_POPPALKEY	6L	/* bring up a palette */
#define HK_POPCLI	7L	/* popcli-key */
#define HK_INSDATE	8L	/* insert date in read-stream */
#define NUM_HOTKEYS	9
extern struct HotKeyData hk[];

extern LONG datefmt;
extern LONG click_volume;

extern LONG blanktimeout;
extern LONG blanksecs;
extern LONG blankcount;

#define mblanksecs	5
#define mblanktimeout	(10*mblanksecs)
extern WORD mblankcount;

#define POPLEN	256
extern char PopCommand[POPLEN];

BOOL InitSettings(char **ttypes);

/*** prototypes/defines from main.c ***/ 
extern CxObj *broker;
extern struct MsgPort *broker_mp;

void CloseResources(void);
BOOL OpenResources(void);
void EasyEasyRequest(char *str);
void PostError(char *str);
BOOL AddHotKey(char *newstr, UWORD n);
BOOL ArgBool(char **ttypes, char *tt, BOOL def);
void main(int argc, char **argv);
void DoCloseWindow(void);
void HandleWindowKey(LONG what);
void WriteEvents(char *str);
void DoPalette(void);
void InsertDate(void);
LONG ProcessMsg(void);

/*** prototypes/defines from pri.c ***/ 
/* task priority types */
#define ORIGINAL	0
#define POPPEDUP	1
#define ACTIVE		2
void MyPri(UWORD which);

/*** prototypes for functions defined in keyclick.c ***/
void EndHandler(void);
BOOL InitHandler(void);

/*** prototypes/defines from help.c ***/
BOOL ShowWindow(void);
void HideWindow(void);
LONG HandleIDCMP(void);

extern LONG wndsigflag;

#define HELP_ERROR	0
#define HELP_OKAY	1
#define HELP_HIDE	2
#define HELP_QUIT	3
