http://ftp.x.org/contrib/applications/xscreensaver-2.24.tar.gz
[xscreensaver] / driver / xscreensaver.h
index 1082c46050fe0aa5769c78976ef122242595bb28..db2f87841352ebb914628f8760c945a81a8cddd0 100644 (file)
@@ -37,10 +37,11 @@ typedef struct saver_screen_info saver_screen_info;
    command line, the resource database, or entered through a dialog box.
  */
 struct saver_preferences {
-  Bool verbose_p;
-  Bool lock_p;                 /* whether to lock as well as save */
+  Bool verbose_p;              /* whether to print out lots of status info */
+  Bool timestamp_p;            /* whether to mark messages with a timestamp */
+  Bool debug_p;                        /* pay no mind to the man behind the curtain */
 
-  Bool debug_p;
+  Bool lock_p;                 /* whether to lock as well as save */
   Bool fade_p;                 /* whether to fade to black */
   Bool unfade_p;               /* whether to fade from black */
   int fade_seconds;            /* how long that should take */
@@ -112,6 +113,8 @@ struct saver_info {
      ======================================================================= */
 
   Bool screen_blanked_p;       /* Whether the saver is currently active. */
+  Window mouse_grab_window;    /* Window holding our mouse grab */
+  Window keyboard_grab_window; /* Window holding our keyboard grab */
 
 
   /* =======================================================================
@@ -124,7 +127,6 @@ struct saver_info {
   Bool dbox_up_p;              /* Whether the demo-mode or passwd dialogs
                                   are currently visible */
 
-
   /* =======================================================================
      demoing
      ======================================================================= */
@@ -134,6 +136,15 @@ struct saver_info {
                                   dialog box, which should be run next. */
 
 
+  /* =======================================================================
+     asking questions
+     ======================================================================= */
+
+  Bool question_up_p;          /* Whether the question dialog is currently
+                                  visible. */
+  Widget question_dialog;      /* The question dialog, if any. */
+
+
   /* =======================================================================
      timers
      ======================================================================= */
@@ -248,7 +259,7 @@ struct saver_screen_info {
 
 extern void restore_real_vroot (saver_info *si);
 extern void disable_builtin_screensaver (saver_info *si, Bool turn_off_p);
-extern void ensure_no_screensaver_running (Display *, Screen *);
+extern Bool ensure_no_screensaver_running (Display *, Screen *);
 
 #ifdef HAVE_MIT_SAVER_EXTENSION
 extern Bool query_mit_saver_extension (saver_info *);
@@ -257,6 +268,10 @@ extern Bool query_mit_saver_extension (saver_info *);
 extern Bool query_sgi_saver_extension (saver_info *);
 #endif
 
+/* Display Power Management System (DPMS) interface. */
+extern Bool monitor_powered_on_p (saver_info *si);
+extern void monitor_power_on (saver_info *si);
+
 
 /* =======================================================================
    blanking
@@ -325,6 +340,7 @@ extern Bool handle_clientmessage (saver_info *, XEvent *, Bool);
    subprocs
    ======================================================================= */
 
+extern void hack_environment (saver_info *si);
 extern void init_sigchld (void);
 extern void spawn_screenhack (saver_info *si, Bool first_time_p);
 extern void kill_screenhack (saver_info *si);
@@ -360,6 +376,7 @@ extern void clear_stderr (saver_screen_info *ssi);
    misc
    ======================================================================= */
 
+extern const char *blurb (void);
 extern void save_argv (int argc, char **argv);
 extern void saver_exit (saver_info *si, int status);
 extern void restart_process (saver_info *si);
@@ -370,7 +387,7 @@ extern Bool window_exists_p (Display *dpy, Window window);
 extern char *timestring (void);
 
 extern Atom XA_VROOT, XA_XSETROOT_ID;
-extern Atom XA_SCREENSAVER_VERSION, XA_SCREENSAVER_ID;
+extern Atom XA_SCREENSAVER, XA_SCREENSAVER_VERSION, XA_SCREENSAVER_ID;
 extern Atom XA_SCREENSAVER_TIME;
 
 #endif /* __XSCREENSAVER_H__ */