summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patches/dwm-xrdb-6.4.diff111
1 files changed, 55 insertions, 56 deletions
diff --git a/patches/dwm-xrdb-6.4.diff b/patches/dwm-xrdb-6.4.diff
index 929b4e6..7852afb 100644
--- a/patches/dwm-xrdb-6.4.diff
+++ b/patches/dwm-xrdb-6.4.diff
@@ -34,20 +34,20 @@ index 061ad66..686b947 100644
+static char selbordercolor[] = "#005577";
+static char selbgcolor[] = "#005577";
+static char *colors[][3] = {
-+ /* fg bg border */
-+ [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
-+ [SchemeSel] = { selfgcolor, selbgcolor, selbordercolor },
++ /* fg bg border */
++ [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
++ [SchemeSel] = { selfgcolor, selbgcolor, selbordercolor },
};
-
+
/* tagging */
@@ -56,7 +57,7 @@ static const Layout layouts[] = {
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
-
+
/* commands */
-static const char *dmenucmd[] = { "dmenu_run", "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
+static const char *dmenucmd[] = { "dmenu_run", "-fn", dmenufont, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbordercolor, "-sf", selfgcolor, NULL };
static const char *termcmd[] = { "st", NULL };
-
+
static const Key keys[] = {
@@ -84,6 +85,7 @@ static const Key keys[] = {
{ MODKEY, XK_period, focusmon, {.i = +1 } },
@@ -75,12 +75,12 @@ index 6471431..bdbf950 100644
--- a/drw.h
+++ b/drw.h
@@ -40,7 +40,7 @@ void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned in
-
+
/* Colorscheme abstraction */
void drw_clr_create(Drw *drw, Clr *dest, const char *clrname);
-Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount);
+Clr *drw_scm_create(Drw *drw, char *clrnames[], size_t clrcount);
-
+
/* Cursor abstraction */
Cur *drw_cur_create(Drw *drw, int shape);
diff --git a/dwm.c b/dwm.c
@@ -100,21 +100,21 @@ index e5efb6a..3fe76be 100644
#define TAGMASK ((1 << LENGTH(tags)) - 1)
#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad)
+#define XRDB_LOAD_COLOR(R,V) if (XrmGetResource(xrdb, R, NULL, &type, &value) == True) { \
-+ if (value.addr != NULL && strnlen(value.addr, 8) == 7 && value.addr[0] == '#') { \
-+ int i = 1; \
-+ for (; i <= 6; i++) { \
-+ if (value.addr[i] < 48) break; \
-+ if (value.addr[i] > 57 && value.addr[i] < 65) break; \
-+ if (value.addr[i] > 70 && value.addr[i] < 97) break; \
-+ if (value.addr[i] > 102) break; \
-+ } \
-+ if (i == 7) { \
-+ strncpy(V, value.addr, 7); \
-+ V[7] = '\0'; \
-+ } \
-+ } \
++ if (value.addr != NULL && strnlen(value.addr, 8) == 7 && value.addr[0] == '#') { \
++ int i = 1; \
++ for (; i <= 6; i++) { \
++ if (value.addr[i] < 48) break; \
++ if (value.addr[i] > 57 && value.addr[i] < 65) break; \
++ if (value.addr[i] > 70 && value.addr[i] < 97) break; \
++ if (value.addr[i] > 102) break; \
++ } \
++ if (i == 7) { \
++ strncpy(V, value.addr, 7); \
++ V[7] = '\0'; \
++ } \
++ } \
+ }
-
+
/* enums */
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
@@ -178,6 +194,7 @@ static void grabkeys(void);
@@ -131,41 +131,41 @@ index e5efb6a..3fe76be 100644
static int xerrorstart(Display *dpy, XErrorEvent *ee);
+static void xrdb(const Arg *arg);
static void zoom(const Arg *arg);
-
+
/* variables */
@@ -1019,6 +1037,37 @@ killclient(const Arg *arg)
}
}
-
+
+void
+loadxrdb()
+{
-+ Display *display;
-+ char * resm;
-+ XrmDatabase xrdb;
-+ char *type;
-+ XrmValue value;
++ Display *display;
++ char * resm;
++ XrmDatabase xrdb;
++ char *type;
++ XrmValue value;
+
-+ display = XOpenDisplay(NULL);
++ display = XOpenDisplay(NULL);
+
-+ if (display != NULL) {
-+ resm = XResourceManagerString(display);
++ if (display != NULL) {
++ resm = XResourceManagerString(display);
+
-+ if (resm != NULL) {
-+ xrdb = XrmGetStringDatabase(resm);
++ if (resm != NULL) {
++ xrdb = XrmGetStringDatabase(resm);
+
-+ if (xrdb != NULL) {
-+ XRDB_LOAD_COLOR("dwm.normbordercolor", normbordercolor);
-+ XRDB_LOAD_COLOR("dwm.normbgcolor", normbgcolor);
-+ XRDB_LOAD_COLOR("dwm.normfgcolor", normfgcolor);
-+ XRDB_LOAD_COLOR("dwm.selbordercolor", selbordercolor);
-+ XRDB_LOAD_COLOR("dwm.selbgcolor", selbgcolor);
-+ XRDB_LOAD_COLOR("dwm.selfgcolor", selfgcolor);
-+ }
-+ }
-+ }
++ if (xrdb != NULL) {
++ XRDB_LOAD_COLOR("dwm.normbordercolor", normbordercolor);
++ XRDB_LOAD_COLOR("dwm.normbgcolor", normbgcolor);
++ XRDB_LOAD_COLOR("dwm.normfgcolor", normfgcolor);
++ XRDB_LOAD_COLOR("dwm.selbordercolor", selbordercolor);
++ XRDB_LOAD_COLOR("dwm.selbgcolor", selbgcolor);
++ XRDB_LOAD_COLOR("dwm.selfgcolor", selfgcolor);
++ }
++ }
++ }
+
-+ XCloseDisplay(display);
++ XCloseDisplay(display);
+}
+
void
@@ -174,16 +174,16 @@ index e5efb6a..3fe76be 100644
@@ -2110,6 +2159,17 @@ xerrorstart(Display *dpy, XErrorEvent *ee)
return -1;
}
-
+
+void
+xrdb(const Arg *arg)
+{
-+ loadxrdb();
-+ int i;
-+ for (i = 0; i < LENGTH(colors); i++)
-+ scheme[i] = drw_scm_create(drw, colors[i], 3);
-+ focus(NULL);
-+ arrange(NULL);
++ loadxrdb();
++ int i;
++ for (i = 0; i < LENGTH(colors); i++)
++ scheme[i] = drw_scm_create(drw, colors[i], 3);
++ focus(NULL);
++ arrange(NULL);
+}
+
void
@@ -193,11 +193,10 @@ index e5efb6a..3fe76be 100644
if (!(dpy = XOpenDisplay(NULL)))
die("dwm: cannot open display");
checkotherwm();
-+ XrmInitialize();
-+ loadxrdb();
++ XrmInitialize();
++ loadxrdb();
setup();
#ifdef __OpenBSD__
if (pledge("stdio rpath proc exec", NULL) == -1)
---
+--
2.38.2
-