http://slackware.bholcomb.com/slackware/slackware-11.0/source/xap/xscreensaver/xscree...
[xscreensaver] / driver / prefs.h
index fb4cd1bd79fb7af1ad672efd97d40ce9d9b8e2d4..c0c047babbf062851419d37b869b1df1da16f82d 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1993-2001 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1993-2006 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -20,6 +20,14 @@ struct screenhack {
   char *command;
 };
 
+typedef enum {
+  RANDOM_HACKS, ONE_HACK, BLANK_ONLY, DONT_BLANK, RANDOM_HACKS_SAME
+} saver_mode;
+
+typedef enum {
+  TEXT_DATE, TEXT_LITERAL, TEXT_FILE, TEXT_PROGRAM, TEXT_URL
+} text_mode;
+
 typedef struct saver_preferences saver_preferences;
 
 
@@ -39,11 +47,12 @@ struct saver_preferences {
   Bool verbose_p;              /* whether to print out lots of status info */
   Bool timestamp_p;            /* whether to mark messages with a timestamp */
   Bool capture_stderr_p;       /* whether to redirect stdout/stderr  */
+  Bool ignore_uninstalled_p;   /* whether to avoid displaying or complaining
+                                   about hacks that are not on $PATH */
   Bool debug_p;                        /* pay no mind to the man behind the curtain */
   Bool xsync_p;                        /* whether XSynchronize has been called */
 
   Bool lock_p;                 /* whether to lock as well as save */
-  Bool lock_vt_p;              /* whether to lock VTs too, if possible */
 
   Bool fade_p;                 /* whether to fade to black, if possible */
   Bool unfade_p;               /* whether to fade from black, if possible */
@@ -54,9 +63,16 @@ struct saver_preferences {
   Bool install_cmap_p;         /* whether we should use our own colormap
                                   when using the screen's default visual. */
 
+# ifdef QUAD_MODE
+  Bool quad_p;                 /* whether to run four savers per monitor */
+# endif /* QUAD_MODE */
+
   screenhack **screenhacks;    /* the programs to run */
   int screenhacks_count;
 
+  saver_mode mode;             /* hack-selection mode */
+  int selected_hack;           /* in one_hack mode, this is the one */
+
   int nice_inferior;           /* nice value for subprocs */
   int inferior_memory_limit;   /* setrlimit(LIMIT_AS) value for subprocs */
 
@@ -69,6 +85,7 @@ struct saver_preferences {
   Time pointer_timeout;                /* how often to check mouse position */
   Time notice_events_timeout;  /* how long after window creation to select */
   Time watchdog_timeout;       /* how often to re-raise and re-blank screen */
+  int pointer_hysteresis;      /* mouse motions less than N/sec are ignored */
 
   Bool dpms_enabled_p;         /* Whether to power down the monitor */
   Time dpms_standby;           /* how long until monitor goes black */
@@ -80,33 +97,43 @@ struct saver_preferences {
   Bool random_image_p;         /*  "xscreensaver-getimage" program, and set */
   char *image_directory;       /*  by the "xscreensaver-demo" configurator. */
 
+  text_mode tmode;             /* How we generate text to display. */
+  char *text_literal;          /* used when tmode is TEXT_LITERAL. */
+  char *text_file;             /* used when tmode is TEXT_FILE.    */
+  char *text_program;          /* used when tmode is TEXT_PROGRAM. */
+  char *text_url;              /* used when tmode is TEXT_URL.     */
+
   Bool use_xidle_extension;    /* which extension to use, if possible */
   Bool use_mit_saver_extension;
   Bool use_sgi_saver_extension;
   Bool use_proc_interrupts;
 
+  Bool getviewport_full_of_lies_p; /* XFree86 bug #421 */
+
   char *shell;                 /* where to find /bin/sh */
 
   char *demo_command;          /* How to enter demo mode. */
   char *prefs_command;         /* How to edit preferences. */
   char *help_url;              /* Where the help document resides. */
   char *load_url_command;      /* How one loads URLs. */
+  char *new_login_command;     /* Command for the "New Login" button. */
 };
 
 
-extern void load_init_file (saver_preferences *p);
-extern Bool init_file_changed_p (saver_preferences *p);
-extern int write_init_file (saver_preferences *p, const char *version_string,
+extern void load_init_file (Display *, saver_preferences *);
+extern Bool init_file_changed_p (saver_preferences *);
+extern int write_init_file (Display *,
+                            saver_preferences *, const char *version_string,
                             Bool verbose_p);
 const char *init_file_name (void);
 
 extern screenhack *parse_screenhack (const char *line);
-extern void free_screenhack (screenhack *hack);
-extern char *format_hack (screenhack *hack, Bool wrap_p);
-char *make_hack_name (const char *shell_command);
+extern void free_screenhack (screenhack *);
+extern char *format_hack (Display *, screenhack *, Bool wrap_p);
+char *make_hack_name (Display *, const char *shell_command);
 
 /* From dpms.c */
-extern void sync_server_dpms_settings (Display *dpy, Bool enabled_p,
+extern void sync_server_dpms_settings (Display *, Bool enabled_p,
                                        int standby_secs, int suspend_secs,
                                        int off_secs,
                                        Bool verbose_p);