X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Fprefs.c;h=7dcb768adecd4ecfde82ccd677ba7e757f47e918;hb=8eb2873d7054e705c4e83f22d18c40946a9e2529;hp=55b4653c08fcc93ba9d7ff6c3a9ab729c92281df;hpb=3c58fb6311db49c46f1670922933b27c6ea0c065;p=xscreensaver diff --git a/driver/prefs.c b/driver/prefs.c index 55b4653c..7dcb768a 100644 --- a/driver/prefs.c +++ b/driver/prefs.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -260,6 +261,8 @@ static const char * const prefs[] = { "grabVideoFrames", "chooseRandomImages", "imageDirectory", + "mode", + "selected", "", "programs", "", @@ -777,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; @@ -837,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); } @@ -1068,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, @@ -1351,10 +1376,7 @@ format_hack (screenhack *hack, Bool wrap_p) col = string_columns (h2, strlen (h2), 0); if (wrap_p && col >= tab) - { - out = stab_to (out, col, 77); - *out += strlen(out); - } + out = stab_to (out, col, 77); else *out++ = ' ';