Example #1
0
void
load_def_scheme(void)
{
	tree_free(dirs);
	dirs = NULL;

	init_color_scheme(&cfg.cs);
	init_color_scheme(&lwin.cs);
	lwin.color_scheme = LCOLOR_BASE;
	init_color_scheme(&rwin.cs);
	rwin.color_scheme = RCOLOR_BASE;

	load_color_pairs(DCOLOR_BASE, &cfg.cs);
	load_color_pairs(LCOLOR_BASE, &lwin.cs);
	load_color_pairs(RCOLOR_BASE, &rwin.cs);
}
Example #2
0
static void
load_default_colors(void)
{
	init_color_scheme(&cs.array[0]);

	snprintf(cs.array[0].name, NAME_MAX, "Default");
	snprintf(cs.array[0].dir, PATH_MAX, "/");
}
Example #3
0
static void
read_color_scheme_file(const char *config_file)
{
	FILE *fp;
	char line[MAX_LEN];
	char *s1 = NULL;
	char *s2 = NULL;
	char *s3 = NULL;
	char *sx = NULL;

	if((fp = fopen(config_file, "r")) == NULL)
	{
		load_default_colors();
		cs.count = 1;
		return;
	}

	while(fgets(line, MAX_LEN, fp))
	{
		int args;

		if(line[0] == '#')
			continue;

		if((sx = s1 = strchr(line, '=')) != NULL)
		{
			s1++;
			chomp(s1);
			*sx = '\0';
			args = 1;
		}
		else
			continue;
		if((sx = s2 = strchr(s1, '=')) != NULL)
		{
			s2++;
			chomp(s2);
			*sx = '\0';
			args = 2;
		}
		if((args == 2) && ((sx = s3 = strchr(s2, '=')) != NULL))
		{
			s3++;
			chomp(s3);
			*sx = '\0';
			args = 3;
		}

		if(args == 1)
		{
			if(!strcmp(line, "COLORSCHEME"))
			{
				cs.count++;

				if(cs.count > MAX_COLOR_SCHEMES)
					break;

				init_color_scheme(&cs.array[cs.count - 1]);

				snprintf(cs.array[cs.count - 1].name, NAME_MAX, "%s", s1);
				continue;
			}
			if(!strcmp(line, "DIRECTORY"))
			{
				col_scheme_t* c;

				c = &cs.array[cs.count - 1];
				snprintf(c->dir, PATH_MAX, "%s", s1);
				continue;
			}
		}
		if(!strcmp(line, "COLOR") && args == 3)
			add_color(s1, s2, s3);
	}

	fclose(fp);
}