23 lines
1.0 KiB
C
23 lines
1.0 KiB
C
#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);
|
|
|
|
|