Adding xrdb patch
parent
30e0a3b5e4
commit
f8f67508d8
@ -0,0 +1,75 @@
|
|||||||
|
void
|
||||||
|
loadxrdb()
|
||||||
|
{
|
||||||
|
Display *display;
|
||||||
|
char * resm;
|
||||||
|
XrmDatabase xrdb;
|
||||||
|
char *type;
|
||||||
|
XrmValue value;
|
||||||
|
|
||||||
|
display = XOpenDisplay(NULL);
|
||||||
|
|
||||||
|
if (display != NULL) {
|
||||||
|
resm = XResourceManagerString(display);
|
||||||
|
|
||||||
|
if (resm != NULL) {
|
||||||
|
xrdb = XrmGetStringDatabase(resm);
|
||||||
|
|
||||||
|
if (xrdb != NULL) {
|
||||||
|
XRDB_LOAD_COLOR("dwm.normfgcolor", normfgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.normbgcolor", normbgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.normbordercolor", normbordercolor);
|
||||||
|
#if FLOAT_BORDER_COLOR_PATCH
|
||||||
|
XRDB_LOAD_COLOR("dwm.normflcolor", normflcolor);
|
||||||
|
#endif // FLOAT_BORDER_COLOR_PATCH
|
||||||
|
|
||||||
|
XRDB_LOAD_COLOR("dwm.selfgcolor", selfgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.selbgcolor", selbgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.selbordercolor", selbordercolor);
|
||||||
|
#if FLOAT_BORDER_COLOR_PATCH
|
||||||
|
XRDB_LOAD_COLOR("dwm.selflcolor", selflcolor);
|
||||||
|
#endif // FLOAT_BORDER_COLOR_PATCH
|
||||||
|
|
||||||
|
#if AWESOMEBAR_PATCH
|
||||||
|
XRDB_LOAD_COLOR("dwm.hidfgcolor", hidfgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.hidbgcolor", hidbgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.hidbordercolor", hidbordercolor);
|
||||||
|
#if FLOAT_BORDER_COLOR_PATCH
|
||||||
|
XRDB_LOAD_COLOR("dwm.hidflcolor", hidflcolor);
|
||||||
|
#endif // FLOAT_BORDER_COLOR_PATCH
|
||||||
|
#endif // AWESOMEBAR_PATCH
|
||||||
|
|
||||||
|
#if TITLECOLOR_PATCH
|
||||||
|
XRDB_LOAD_COLOR("dwm.titlefgcolor", titlefgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.titlebgcolor", titlebgcolor);
|
||||||
|
XRDB_LOAD_COLOR("dwm.titlebordercolor", titlebordercolor);
|
||||||
|
#if FLOAT_BORDER_COLOR_PATCH
|
||||||
|
XRDB_LOAD_COLOR("dwm.titleflcolor", titleflcolor);
|
||||||
|
#endif // FLOAT_BORDER_COLOR_PATCH
|
||||||
|
#endif // TITLECOLOR_PATCH
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
XCloseDisplay(display);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
xrdb(const Arg *arg)
|
||||||
|
{
|
||||||
|
loadxrdb();
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < LENGTH(colors); i++)
|
||||||
|
scheme[i] = drw_scm_create(drw, colors[i],
|
||||||
|
#if ALPHA_PATCH
|
||||||
|
alphas[i],
|
||||||
|
#endif // ALPHA_PATCH
|
||||||
|
#if FLOAT_BORDER_COLOR_PATCH
|
||||||
|
4
|
||||||
|
#else
|
||||||
|
3
|
||||||
|
#endif // FLOAT_BORDER_COLOR_PATCH
|
||||||
|
);
|
||||||
|
focus(NULL);
|
||||||
|
arrange(NULL);
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
#include <X11/Xresource.h>
|
||||||
|
|
||||||
|
#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'; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
static void loadxrdb(void);
|
||||||
|
static void xrdb(const Arg *arg);
|
||||||
|
|
Loading…
Reference in New Issue