http://packetstormsecurity.org/UNIX/admin/xscreensaver-4.16.tar.gz
[xscreensaver] / driver / prefs.c
index 04bd856d22e5a3100042fde2401198677a47bddf..9a68afc73e77af73a3c922a1db8dbf14dd808c66 100644 (file)
@@ -1,5 +1,5 @@
 /* dotfile.c --- management of the ~/.xscreensaver file.
- * xscreensaver, Copyright (c) 1998 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1998-2004 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
@@ -244,6 +244,7 @@ static const char * const prefs[] = {
   "timestamp",
   "splash",
   "splashDuration",
+  "quad",
   "demoCommand",
   "prefsCommand",
   "helpURL",
@@ -277,6 +278,7 @@ static const char * const prefs[] = {
   "sgiSaverExtension",
   "mitSaverExtension",
   "xidleExtension",
+  "GetViewPortIsFullOfLies",
   "procInterrupts",
   "overlayStderr",
   "overlayTextBackground",     /* not saved -- X resources only */
@@ -767,6 +769,7 @@ write_init_file (saver_preferences *p, const char *version_string,
       CHECK("timestamp")       type = pref_bool, b = p->timestamp_p;
       CHECK("splash")          type = pref_bool, b = p->splash_p;
       CHECK("splashDuration")  type = pref_time, t = p->splash_duration;
+      CHECK("quad")            type = pref_bool, b = p->quad_p;
       CHECK("demoCommand")     type = pref_str,  s = p->demo_command;
       CHECK("prefsCommand")    type = pref_str,  s = p->prefs_command;
 /*    CHECK("helpURL")         type = pref_str,  s = p->help_url; */
@@ -811,6 +814,8 @@ write_init_file (saver_preferences *p, const char *version_string,
       CHECK("mitSaverExtension")type = pref_bool, b=p->use_mit_saver_extension;
       CHECK("xidleExtension")  type = pref_bool, b = p->use_xidle_extension;
       CHECK("procInterrupts")  type = pref_bool, b = p->use_proc_interrupts;
+      CHECK("GetViewPortIsFullOfLies")  type = pref_bool,
+                                       b = p->getviewport_full_of_lies_p;
       CHECK("overlayStderr")   type = pref_bool, b = overlay_stderr_p;
       CHECK("overlayTextBackground") continue;  /* don't save */
       CHECK("overlayTextForeground") continue;  /* don't save */
@@ -1004,6 +1009,7 @@ load_init_file (saver_preferences *p)
   p->nice_inferior  = get_integer_resource ("nice", "Nice");
   p->inferior_memory_limit = get_byte_resource ("memoryLimit", "MemoryLimit");
   p->splash_p       = get_boolean_resource ("splash", "Boolean");
+  p->quad_p         = get_boolean_resource ("quad", "Boolean");
   p->capture_stderr_p = get_boolean_resource ("captureStderr", "Boolean");
   p->ignore_uninstalled_p = get_boolean_resource ("ignoreUninstalledPrograms",
                                                   "Boolean");
@@ -1062,6 +1068,9 @@ load_init_file (saver_preferences *p)
                                                     "Boolean");
   p->use_proc_interrupts = get_boolean_resource ("procInterrupts", "Boolean");
 
+  p->getviewport_full_of_lies_p =
+    get_boolean_resource ("GetViewPortIsFullOfLies", "Boolean");
+
   get_screenhacks (p);                /* Parse the "programs" resource. */
 
   p->selected_hack = get_integer_resource ("selected", "Integer");
@@ -1320,6 +1329,10 @@ make_hack_name (const char *shell_command)
     s[0] -= 'a'-'A';
   if (s[0] == 'X' && s[1] >= 'a' && s[1] <= 'z')       /* (magic leading X) */
     s[1] -= 'a'-'A';
+  if (s[0] == 'G' && s[1] == 'l' && 
+      s[2] >= 'a' && s[2] <= 'z')                     /* (magic leading GL) */
+    s[1] -= 'a'-'A',
+    s[2] -= 'a'-'A';
   return s;
 }