68
68
#define SPTAG (i ) ((1 << LENGTH(tags)) << (i))
69
69
#define SPTAGMASK (((1 << LENGTH(scratchpads))-1) << LENGTH(tags))
70
70
#define TEXTW (X ) (drw_fontset_getwidth(drw, (X)) + lrpad)
71
- #define XRDB_LOAD_COLOR (R ,V ) if (XrmGetResource(xrdb, R, NULL, &type, &value) == True) { \
72
- if (value.addr != NULL && strnlen(value.addr, 8) == 7 && value.addr[0] == '#') { \
73
- int i = 1; \
74
- for (; i <= 6; i++) { \
75
- if (value.addr[i] < 48) break; \
76
- if (value.addr[i] > 57 && value.addr[i] < 65) break; \
77
- if (value.addr[i] > 70 && value.addr[i] < 97) break; \
78
- if (value.addr[i] > 102) break; \
79
- } \
80
- if (i == 7) { \
81
- strncpy(V, value.addr, 7); \
82
- V[7] = '\0'; \
83
- } \
84
- } \
85
- }
86
71
#define TRUNC (X ,A ,B ) (MAX((A), MIN((X), (B))))
87
72
88
73
/* enums */
@@ -228,7 +213,6 @@ static void grabkeys(void);
228
213
static void incnmaster (const Arg * arg );
229
214
static void keypress (XEvent * e );
230
215
static void killclient (const Arg * arg );
231
- static void loadxrdb (void );
232
216
static void manage (Window w , XWindowAttributes * wa );
233
217
static void mappingnotify (XEvent * e );
234
218
static void maprequest (XEvent * e );
@@ -296,8 +280,8 @@ static Monitor *wintomon(Window w);
296
280
static int xerror (Display * dpy , XErrorEvent * ee );
297
281
static int xerrordummy (Display * dpy , XErrorEvent * ee );
298
282
static int xerrorstart (Display * dpy , XErrorEvent * ee );
299
- static void xrdb (const Arg * arg );
300
283
static void zoom (const Arg * arg );
284
+ static void xrdb (const Arg * arg );
301
285
static void load_xresources (void );
302
286
static void resource_load (XrmDatabase db , char * name , enum resource_type rtype , void * dst );
303
287
@@ -1223,37 +1207,6 @@ killclient(const Arg *arg)
1223
1207
}
1224
1208
}
1225
1209
1226
- void
1227
- loadxrdb ()
1228
- {
1229
- Display * display ;
1230
- char * resm ;
1231
- XrmDatabase xrdb ;
1232
- char * type ;
1233
- XrmValue value ;
1234
-
1235
- display = XOpenDisplay (NULL );
1236
-
1237
- if (display != NULL ) {
1238
- resm = XResourceManagerString (display );
1239
-
1240
- if (resm != NULL ) {
1241
- xrdb = XrmGetStringDatabase (resm );
1242
-
1243
- if (xrdb != NULL ) {
1244
- XRDB_LOAD_COLOR ("dwm.color0" , normbordercolor );
1245
- XRDB_LOAD_COLOR ("dwm.color0" , normbgcolor );
1246
- XRDB_LOAD_COLOR ("dwm.color4" , normfgcolor );
1247
- XRDB_LOAD_COLOR ("dwm.color8" , selbordercolor );
1248
- XRDB_LOAD_COLOR ("dwm.color4" , selbgcolor );
1249
- XRDB_LOAD_COLOR ("dwm.color0" , selfgcolor );
1250
- }
1251
- }
1252
- }
1253
-
1254
- XCloseDisplay (display );
1255
- }
1256
-
1257
1210
void
1258
1211
manage (Window w , XWindowAttributes * wa )
1259
1212
{
@@ -2623,17 +2576,6 @@ xerrorstart(Display *dpy, XErrorEvent *ee)
2623
2576
return -1 ;
2624
2577
}
2625
2578
2626
- void
2627
- xrdb (const Arg * arg )
2628
- {
2629
- loadxrdb ();
2630
- int i ;
2631
- for (i = 0 ; i < LENGTH (colors ); i ++ )
2632
- scheme [i ] = drw_scm_create (drw , colors [i ], 3 );
2633
- focus (NULL );
2634
- arrange (NULL );
2635
- }
2636
-
2637
2579
void
2638
2580
zoom (const Arg * arg )
2639
2581
{
@@ -2646,6 +2588,18 @@ zoom(const Arg *arg)
2646
2588
pop (c );
2647
2589
}
2648
2590
2591
+ void
2592
+ xrdb (const Arg * arg )
2593
+ {
2594
+ load_xresources ();
2595
+
2596
+ for (int i = 0 ; i < LENGTH (colors ); i ++ )
2597
+ scheme [i ] = drw_scm_create (drw , colors [i ], 3 );
2598
+
2599
+ focus (NULL );
2600
+ arrange (NULL );
2601
+ }
2602
+
2649
2603
void
2650
2604
resource_load (XrmDatabase db , char * name , enum resource_type rtype , void * dst )
2651
2605
{
0 commit comments