Commit Diff


commit - 74bc52e8eebffb1325a73fbb0e6a62c677c2a0a0
commit + 24221637d6a753df4ca2173e4f1f6593a901696a
blob - 153c17f365a81051c17ac9b4f9d1e81a6df3d7e8
blob + 79c8f399e8d23e459ceedd63f2e42cbcebffb2b7
--- defaults.c
+++ defaults.c
@@ -118,11 +118,15 @@ struct body_face body_face = {
 };
 
 struct modeline_face modeline_face = {
-	.background = A_REVERSE,
+	.bg  = -1,
+	.fg  = -1,
+	.attr = A_REVERSE,
 };
 
 struct minibuffer_face minibuffer_face = {
-	.background = A_NORMAL,
+	.bg = -1,
+	.fg = -1,
+	.attr = A_NORMAL,
 };
 
 struct mapping {
@@ -273,6 +277,16 @@ config_setcolor(int bg, const char *name, int prfx, in
 			body_face.fg = line;
 			body_face.rfg = trail;
 		}
+	} else if (!strcmp(name, "minibuffer")) {
+		if (bg)
+			minibuffer_face.bg = prfx;
+		else
+			minibuffer_face.fg = prfx;
+	} else if (!strcmp(name, "modeline")) {
+		if (bg)
+			modeline_face.bg = prfx;
+		else
+			modeline_face.fg = prfx;
 	} else {
 		return 0;
 	}
@@ -308,6 +322,10 @@ config_setattr(const char *name, int prfx, int line, i
 		f->prfx_attr = prfx;
 		f->attr = line;
 		f->trail_attr = trail;
+	} else if (!strcmp(name, "minibuffer")) {
+		minibuffer_face.attr = prfx;
+	} else if (!strcmp(name, "modeline")) {
+		modeline_face.attr = prfx;
 	} else {
 		return 0;
 	}
@@ -366,4 +384,13 @@ config_apply_style(void)
 
 	tl_init_pair(colors, PBRIGHT, body_face.rfg, body_face.rbg);
 	body_face.right = COLOR_PAIR(PBRIGHT);
+
+	/* modeline */
+	tl_init_pair(colors, PMODELINE, modeline_face.fg, modeline_face.bg);
+	modeline_face.background = COLOR_PAIR(PMODELINE) | modeline_face.attr;
+
+	/* minibuffer */
+	tl_init_pair(colors, PMINIBUF, minibuffer_face.fg, minibuffer_face.bg);
+	minibuffer_face.background = COLOR_PAIR(PMINIBUF) | minibuffer_face.attr;
+
 }
blob - 7aab450ee15857744123cddfe7f9f2d9ff8aee10
blob + d1627087376d67b890105acc9638195bb0c13202
--- telescope.h
+++ telescope.h
@@ -99,11 +99,13 @@ struct body_face {
 extern struct body_face body_face;
 
 struct modeline_face {
+	int bg, fg, attr;
 	int background;
 };
 extern struct modeline_face modeline_face;
 
 struct minibuffer_face {
+	int bg, fg, attr;
 	int background;
 };
 extern struct minibuffer_face minibuffer_face;
@@ -424,6 +426,10 @@ enum pairs {
 	PPEND,
 	PPEND_PRFX,
 	PPEND_TRAIL,
+
+	PMODELINE,
+
+	PMINIBUF,
 };
 
 struct thiskey {
blob - 67ed7a754b7fb7fe33c6274eb7fefd0b65013ee8
blob + 1f1d656c148c317626ffe3e07596bc10234ff596
--- ui.c
+++ ui.c
@@ -1461,6 +1461,7 @@ ui_init(int argc, char * const *argv)
 	body_cols = COLS;
 
 	wbkgd(body, body_face.body);
+	wbkgd(minibuf, minibuffer_face.background);
 
 	update_x_offset();