aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Williams <taaparthur@gmail.com>2021-10-09 12:04:08 -0700
committerNRK <nrk@disroot.org>2021-10-29 12:53:49 +0600
commit8934744c60a3ef34eb65a6082d59da8ad2234d6c (patch)
tree6c436959a7cd35459055204009ec2c71c0526cf2
parent850bc788c3fd4bb96f425ceedfe4237754cabe46 (diff)
Add colors and fonts to config.h (#115)
Adds a set of config vars to control window fg/bg, bar fg/bg, mark color and bar font. This allows everything that can be done from .Xresources to be configurable from config.h. Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com>
-rw-r--r--config.def.h10
-rw-r--r--window.c12
2 files changed, 15 insertions, 7 deletions
diff --git a/config.def.h b/config.def.h
index 1085a39..75c5eed 100644
--- a/config.def.h
+++ b/config.def.h
@@ -4,9 +4,17 @@
static const int WIN_WIDTH = 800;
static const int WIN_HEIGHT = 600;
-/* colors and font are configured via X resource properties.
+/* colors and font can be overwritten via X resource properties.
* See nsxiv(1), X(7) section Resources and xrdb(1) for more information.
*/
+static const char *DEFAULT_WIN_BG = "white";
+static const char *DEFAULT_WIN_FG = "black";
+static const char *DEFAULT_MARK_COLOR = NULL; /* NULL means it will default to window foreground */
+#if HAVE_LIBFONTS
+static const char *DEFAULT_BAR_BG = NULL; /* NULL means it will default to window background */
+static const char *DEFAULT_BAR_FG = NULL; /* NULL means it will default to window foreground */
+static const char *DEFAULT_FONT = "monospace-8";
+#endif
#endif
#ifdef _TITLE_CONFIG
diff --git a/window.c b/window.c
index 97e424f..c8c3455 100644
--- a/window.c
+++ b/window.c
@@ -133,20 +133,20 @@ void win_init(win_t *win)
res_man = XResourceManagerString(e->dpy);
db = res_man == NULL ? NULL : XrmGetStringDatabase(res_man);
- win_bg = win_res(db, RES_CLASS ".window.background", "white");
- win_fg = win_res(db, RES_CLASS ".window.foreground", "black");
- mrk_fg = win_res(db, RES_CLASS ".mark.foreground", win_fg);
+ win_bg = win_res(db, RES_CLASS ".window.background", DEFAULT_WIN_BG);
+ win_fg = win_res(db, RES_CLASS ".window.foreground", DEFAULT_WIN_FG);
+ mrk_fg = win_res(db, RES_CLASS ".mark.foreground", DEFAULT_MARK_COLOR ? DEFAULT_MARK_COLOR : win_fg);
win_alloc_color(e, win_bg, &win->win_bg);
win_alloc_color(e, win_fg, &win->win_fg);
win_alloc_color(e, mrk_fg, &win->mrk_fg);
#if HAVE_LIBFONTS
- bar_bg = win_res(db, RES_CLASS ".bar.background", win_bg);
- bar_fg = win_res(db, RES_CLASS ".bar.foreground", win_fg);
+ bar_bg = win_res(db, RES_CLASS ".bar.background", DEFAULT_BAR_BG ? DEFAULT_BAR_BG : win_bg);
+ bar_fg = win_res(db, RES_CLASS ".bar.foreground", DEFAULT_BAR_FG ? DEFAULT_BAR_FG : win_fg);
xft_alloc_color(e, bar_bg, &win->bar_bg);
xft_alloc_color(e, bar_fg, &win->bar_fg);
- f = win_res(db, RES_CLASS ".bar.font", "monospace-8");
+ f = win_res(db, RES_CLASS ".bar.font", DEFAULT_FONT);
win_init_font(e, f);
win->bar.l.size = BAR_L_LEN;