diff options
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | config.def.h | 1 | ||||
-rw-r--r-- | config.h | 1 | ||||
-rw-r--r-- | dmenu.c | 20 |
4 files changed, 16 insertions, 9 deletions
@@ -2,10 +2,8 @@ - xresources - center -- border The center patch adds the -c parameter for centering dmenu -The border patch adds the -bw parameter followed by an integer The xresources patch makes dmenu read the .Xresources file enabling<br> on the fly color matching with Pywal16 @@ -17,3 +15,4 @@ on the fly color matching with Pywal16 dmenu.foreground: {color15} dmenu.selbackground: {color0} dmenu.selforeground: {color15} + dmenu.border: {color4} diff --git a/config.def.h b/config.def.h index ad38804..d27a5d8 100644 --- a/config.def.h +++ b/config.def.h @@ -14,6 +14,7 @@ static const char *colors[SchemeLast][2] = { [SchemeNorm] = { "#bbbbbb", "#222222" }, [SchemeSel] = { "#eeeeee", "#005577" }, [SchemeOut] = { "#000000", "#00ffff" }, + [SchemeBorder] = { "#cccccc", NULL }, }; /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ static unsigned int lines = 0; @@ -14,6 +14,7 @@ static const char *colors[SchemeLast][2] = { [SchemeNorm] = { "#bbbbbb", "#222222" }, [SchemeSel] = { "#eeeeee", "#005577" }, [SchemeOut] = { "#000000", "#00ffff" }, + [SchemeBorder] = { "#cccccc", NULL }, }; /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ static unsigned int lines = 0; @@ -26,7 +26,7 @@ #define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) /* enums */ -enum { SchemeNorm, SchemeSel, SchemeOut, SchemeLast }; /* color schemes */ +enum { SchemeNorm, SchemeSel, SchemeOut, SchemeBorder, SchemeLast }; /* color schemes */ struct item { char *text; @@ -54,7 +54,7 @@ static Drw *drw; static Clr *scheme[SchemeLast]; /* Temporary arrays to allow overriding xresources values */ -static char *colortemp[4]; +static char *colortemp[5]; static char *tempfonts; #include "config.h" @@ -722,7 +722,7 @@ setup(void) CopyFromParent, CopyFromParent, CopyFromParent, CWOverrideRedirect | CWBackPixel | CWEventMask, &swa); if (border_width) - XSetWindowBorder(dpy, win, scheme[SchemeSel][ColBg].pixel); + XSetWindowBorder(dpy, win, scheme[SchemeBorder][ColFg].pixel); XSetClassHint(dpy, win, &ch); /* input methods */ @@ -784,6 +784,10 @@ readxresources(void) { colors[SchemeSel][ColFg] = strdup(xval.addr); else colors[SchemeSel][ColFg] = strdup(colors[SchemeSel][ColFg]); + if (XrmGetResource(xdb, "dmenu.border", "*", &type, &xval)) + colors[SchemeBorder][ColFg] = strdup(xval.addr); + else + colors[SchemeBorder][ColFg] = strdup(colors[SchemeBorder][ColFg]); XrmDestroyDatabase(xdb); } @@ -852,13 +856,15 @@ main(int argc, char *argv[]) if ( tempfonts ) fonts[0] = strdup(tempfonts); if ( colortemp[0]) - colors[SchemeNorm][ColBg] = strdup(colortemp[0]); + colors[SchemeNorm][ColBg] = strdup(colortemp[0]); if ( colortemp[1]) - colors[SchemeNorm][ColFg] = strdup(colortemp[1]); + colors[SchemeNorm][ColFg] = strdup(colortemp[1]); if ( colortemp[2]) - colors[SchemeSel][ColBg] = strdup(colortemp[2]); + colors[SchemeSel][ColBg] = strdup(colortemp[2]); if ( colortemp[3]) - colors[SchemeSel][ColFg] = strdup(colortemp[3]); + colors[SchemeSel][ColFg] = strdup(colortemp[3]); + if ( colortemp[4]) + colors[SchemeBorder][ColFg] = strdup(colortemp[4]); if (!drw_fontset_create(drw, (const char**)fonts, LENGTH(fonts))) die("no fonts could be loaded."); |