#include #include #include #include "imgview.h" static void parse(FILE *f, char *s) { char tmp[50]; if (! strncmp(s, "geom", 4)) { sscanf(s, "%s %d %d %d %d", tmp, &v.win_x, &v.win_y, &v.win_w, &v.win_h); return; } if (! strncmp(s, "bgcolor", 7)) { sscanf(s, "%s %s %s", tmp, v.bgcolor_s, v.tbgcolor_s); return; } if (! strncmp(s, "bwcolor", 7)) { sscanf(s, "%s %s %s", tmp, v.bwbgcolor_s, v.bwfgcolor_s); return; } if (! strncmp(s, "xymove", 6)) { sscanf(s, "%s %d", tmp, &v.xymove); return; } if (! strncmp(s, "delay", 5)) { sscanf(s, "%s %d", tmp, &v.delay); return; } if (! strncmp(s, "jbigw", 5)) { sscanf(s, "%s %d", tmp, &v.jbigw); return; } if (! strncmp(s, "jbigh", 5)) { sscanf(s, "%s %d", tmp, &v.jbigh); return; } } void readconfig(FILE *f) { char s[80]; while (fgets(s, 80, f)) { s[strlen(s) - 1] = '\0'; parse(f, s); } fclose(f); } void writeconfig(void) { char rcname[512]; FILE *f; sprintf(rcname, "%s/.imgviewrc", getenv("HOME")); f = fopen(rcname, "w"); fprintf(f, "geom %d %d %d %d\n", v.win_x - xv.bwidth, v.win_y - xv.twidth, v.win_w, v.win_h); fprintf(f, "bgcolor %s %s\n", v.bgcolor_s, v.tbgcolor_s); fprintf(f, "bwcolor %s %s\n", v.bwbgcolor_s, v.bwfgcolor_s); fprintf(f, "xymove %d\n", v.xymove); fprintf(f, "delay %d\n", v.delay); fprintf(f, "jbigw %d\n", v.jbigw); fprintf(f, "jbigh %d\n", v.jbigh); fclose(f); } .