X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fprefs.c;h=7dcb768adecd4ecfde82ccd677ba7e757f47e918;hp=c074d1f4c2cb509bc043f80a0a1ee41ba1c4bba2;hb=8eb2873d7054e705c4e83f22d18c40946a9e2529;hpb=a1d41b2aa6e18bf9a49b914a99dda8232c5d7762 diff --git a/driver/prefs.c b/driver/prefs.c index c074d1f4..7dcb768a 100644 --- a/driver/prefs.c +++ b/driver/prefs.c @@ -261,6 +261,8 @@ static const char * const prefs[] = { "grabVideoFrames", "chooseRandomImages", "imageDirectory", + "mode", + "selected", "", "programs", "", @@ -778,6 +780,13 @@ write_init_file (saver_preferences *p, const char *version_string, CHECK("chooseRandomImages")type =pref_bool, b = p->random_image_p; CHECK("imageDirectory") type =pref_str, s = p->image_directory; + CHECK("mode") type = pref_str, + s = (p->mode == ONE_HACK ? "one" : + p->mode == BLANK_ONLY ? "blank" : + p->mode == DONT_BLANK ? "off" : + "random"); + CHECK("selected") type = pref_int, i = p->selected_hack; + CHECK("programs") type = pref_str, s = programs; CHECK("pointerPollTime") type = pref_time, t = p->pointer_timeout; CHECK("windowCreationTimeout")type=pref_time,t= p->notice_events_timeout; @@ -838,6 +847,9 @@ write_init_file (saver_preferences *p, const char *version_string, abort(); break; } + + if (pr && !strcmp(pr, "mode")) fprintf(out, "\n"); + write_entry (out, pr, s); } @@ -1069,6 +1081,18 @@ load_init_file (saver_preferences *p) get_screenhacks (p); + p->selected_hack = get_integer_resource ("selected", "Integer"); + if (p->selected_hack < 0 || p->selected_hack >= p->screenhacks_count) + p->selected_hack = -1; + + { + char *s = get_string_resource ("mode", "Mode"); + if (s && !strcasecmp (s, "one")) p->mode = ONE_HACK; + else if (s && !strcasecmp (s, "blank")) p->mode = BLANK_ONLY; + else if (s && !strcasecmp (s, "off")) p->mode = DONT_BLANK; + else p->mode = RANDOM_HACKS; + } + if (system_default_screenhack_count) /* note: first_time is also true */ { merge_system_screenhacks (p, system_default_screenhacks,