diff --git a/dwm.c b/dwm.c index 3c0afbf..9308af9 100644 --- a/dwm.c +++ b/dwm.c @@ -68,21 +68,6 @@ #define SPTAG(i) ((1 << LENGTH(tags)) << (i)) #define SPTAGMASK (((1 << LENGTH(scratchpads))-1) << LENGTH(tags)) #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'; \ - } \ - } \ - } #define TRUNC(X,A,B) (MAX((A), MIN((X), (B)))) /* enums */ @@ -228,7 +213,6 @@ static void grabkeys(void); static void incnmaster(const Arg *arg); static void keypress(XEvent *e); static void killclient(const Arg *arg); -static void loadxrdb(void); static void manage(Window w, XWindowAttributes *wa); static void mappingnotify(XEvent *e); static void maprequest(XEvent *e); @@ -296,8 +280,8 @@ static Monitor *wintomon(Window w); static int xerror(Display *dpy, XErrorEvent *ee); static int xerrordummy(Display *dpy, XErrorEvent *ee); static int xerrorstart(Display *dpy, XErrorEvent *ee); -static void xrdb(const Arg *arg); static void zoom(const Arg *arg); +static void xrdb(const Arg *arg); static void load_xresources(void); static void resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst); @@ -1223,37 +1207,6 @@ killclient(const Arg *arg) } } -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.color0", normbordercolor); - XRDB_LOAD_COLOR("dwm.color0", normbgcolor); - XRDB_LOAD_COLOR("dwm.color4", normfgcolor); - XRDB_LOAD_COLOR("dwm.color8", selbordercolor); - XRDB_LOAD_COLOR("dwm.color4", selbgcolor); - XRDB_LOAD_COLOR("dwm.color0", selfgcolor); - } - } - } - - XCloseDisplay(display); -} - void manage(Window w, XWindowAttributes *wa) { @@ -2623,17 +2576,6 @@ 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); -} - void zoom(const Arg *arg) { @@ -2646,6 +2588,13 @@ zoom(const Arg *arg) pop(c); } +void +xrdb(const Arg *arg) +{ + load_xresources(); + setup(); +} + void resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst) {