#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#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);
}