1 /* xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
3 * Permission to use, copy, modify, distribute, and sell this software and its
4 * documentation for any purpose is hereby granted without fee, provided that
5 * the above copyright notice appear in all copies and that both that
6 * copyright notice and this permission notice appear in supporting
7 * documentation. No representations are made about the suitability of this
8 * software for any purpose. It is provided "as is" without express or
12 #ifndef __XSCREENSAVER_PREFS_H__
13 #define __XSCREENSAVER_PREFS_H__
15 typedef struct saver_preferences saver_preferences;
18 /* This structure holds all the user-specified parameters, read from the
19 command line, the resource database, or entered through a dialog box.
21 struct saver_preferences {
23 XrmDatabase db; /* The resource database into which the
24 init file is merged, and out of which the
25 preferences are parsed. */
27 time_t init_file_date; /* The date (from stat()) of the .xscreensaver
28 file the last time this process read or
31 Bool verbose_p; /* whether to print out lots of status info */
32 Bool timestamp_p; /* whether to mark messages with a timestamp */
33 Bool debug_p; /* pay no mind to the man behind the curtain */
34 Bool xsync_p; /* whether XSynchronize has been called */
36 Bool lock_p; /* whether to lock as well as save */
37 Bool lock_vt_p; /* whether to lock VTs too, if possible */
39 Bool fade_p; /* whether to fade to black, if possible */
40 Bool unfade_p; /* whether to fade from black, if possible */
41 int fade_seconds; /* how long that should take */
42 int fade_ticks; /* how many ticks should be used */
43 Bool fading_possible_p; /* Whether fading to/from black is possible.
44 (This isn't strictly a preference, as it
45 can only be known by querying the display;
46 the caller of the prefs code may fill this
47 in if it knows/cares, and warnings will be
50 Bool install_cmap_p; /* whether we should use our own colormap
51 when using the screen's default visual. */
53 char **screenhacks; /* the programs to run */
54 int screenhacks_count;
56 int nice_inferior; /* nice value for subprocs */
58 Time initial_delay; /* how long to sleep after launch */
59 Time splash_duration; /* how long the splash screen stays up */
60 Time timeout; /* how much idle time before activation */
61 Time lock_timeout; /* how long after activation locking starts */
62 Time cycle; /* how long each hack should run */
63 Time passwd_timeout; /* how much time before pw dialog goes down */
64 Time pointer_timeout; /* how often to check mouse position */
65 Time notice_events_timeout; /* how long after window creation to select */
66 Time watchdog_timeout; /* how often to re-raise and re-blank screen */
68 Bool use_xidle_extension; /* which extension to use, if possible */
69 Bool use_mit_saver_extension;
70 Bool use_sgi_saver_extension;
72 char *shell; /* where to find /bin/sh */
74 char *demo_command; /* How to enter demo mode. */
75 char *prefs_command; /* How to edit preferences. */
76 char *help_url; /* Where the help document resides. */
77 char *load_url_command; /* How one loads URLs. */
81 extern void load_init_file (saver_preferences *p);
82 extern Bool init_file_changed_p (saver_preferences *p);
83 extern void write_init_file (saver_preferences *p, const char *version_string);
84 const char *init_file_name (void);
86 #endif /* __XSCREENSAVER_PREFS_H__ */