Commit Diff


commit - 160abe04e511cb46485ec3588f99c51f40140137
commit + 33fc3a8ff681ef26cc5e94e35ff82260586c3af2
blob - e5ac2c2f5a755f8406993a5e5dadb3d68ba0c52f
blob + 7dce0214ebc10391f7ee3ea7e4bdb9c9399433f9
--- defaults.c
+++ defaults.c
@@ -27,7 +27,6 @@ int olivetti_mode = 0;
 int enable_colors = 1;
 
 static struct lineface_descr {
-	int	used;
 	int	pp, p, tp;
 	int	prfx_bg, bg, trail_bg;
 	int	prfx_fg, fg, trail_fg;
@@ -119,6 +118,21 @@ mapping_by_name(const char *name)
 	return NULL;
 }
 
+void
+config_init(void)
+{
+	struct lineface_descr *d;
+	size_t i, len;
+
+	len = sizeof(linefaces_descr)/sizeof(linefaces_descr[0]);
+	for (i = 0; i < len; ++i) {
+		d = &linefaces_descr[i];
+
+		d->prfx_bg = d->bg = d->trail_bg = -1;
+		d->prfx_fg = d->fg = d->trail_fg = -1;
+	}
+}
+
 int
 config_setprfx(const char *name, const char *prfx, const char *cont)
 {
@@ -182,7 +196,6 @@ config_setcolor(int bg, const char *name, int prfx, in
 
 		d = &linefaces_descr[m->linetype];
 
-		d->used = 1;
 		if (bg) {
 			d->prfx_bg = prfx;
 			d->bg = line;
@@ -221,16 +234,14 @@ config_apply_colors(void)
 		d = &linefaces_descr[i];
 		f = &line_faces[i];
 
-		if (d->used) {
-			init_pair(d->pp, d->prfx_fg, d->prfx_bg);
-			f->prefix_prop = COLOR_PAIR(d->pp);
+		init_pair(d->pp, d->prfx_fg, d->prfx_bg);
+		f->prefix_prop = COLOR_PAIR(d->pp);
 
-			init_pair(d->p, d->fg, d->bg);
-			f->text_prop = COLOR_PAIR(d->p);
+		init_pair(d->p, d->fg, d->bg);
+		f->text_prop = COLOR_PAIR(d->p);
 
-			init_pair(d->tp, d->trail_fg, d->trail_bg);
-			f->trail_prop = COLOR_PAIR(d->tp);
-		}
+		init_pair(d->tp, d->trail_fg, d->trail_bg);
+		f->trail_prop = COLOR_PAIR(d->tp);
 	}
 
 	init_pair(PBODY, body_face.fg, body_face.bg);
blob - d41084e400fefa008ee76a0537d801c89e9968ed
blob + 7547d79cf0cf2b4515725750464674a637120307
--- telescope.h
+++ telescope.h
@@ -255,6 +255,7 @@ struct keymap {
 };
 
 /* defaults.c */
+void		 config_init(void);
 int		 config_setprfx(const char *, const char *, const char *);
 int		 config_setvari(const char *, int);
 int		 config_setvars(const char *, char *);
blob - da79dfa78f24b1adb5d5d3123750811c61ecafc6
blob + b7b531e3a7d7c090ca22a3090cc98e3f79bf23cd
--- ui.c
+++ ui.c
@@ -1371,6 +1371,7 @@ ui_init(int argc, char * const *argv)
 	argc -= optind;
 	argv += optind;
 
+	config_init();
 	parseconfig(path, fonf);
 	if (configtest){
 		puts("config OK");