sent-xresources-20230807-fb4dab3.diff - sites - public wiki contents of suckles… | |
git clone git://git.suckless.org/sites | |
Log | |
Files | |
Refs | |
--- | |
sent-xresources-20230807-fb4dab3.diff (2376B) | |
--- | |
1 From a09330410518e8baa127493aa79704f7726c27c7 Mon Sep 17 00:00:00 2001 | |
2 From: Fikri Rahmat Nurhidayat <[email protected]> | |
3 Date: Mon, 7 Aug 2023 15:59:57 +0700 | |
4 Subject: [PATCH] use xrdb value for fontfallbacks, and colors | |
5 | |
6 --- | |
7 config.def.h | 4 ++-- | |
8 sent.c | 33 +++++++++++++++++++++++++++++++++ | |
9 2 files changed, 35 insertions(+), 2 deletions(-) | |
10 | |
11 diff --git a/config.def.h b/config.def.h | |
12 index 60eb376..50a9808 100644 | |
13 --- a/config.def.h | |
14 +++ b/config.def.h | |
15 @@ -1,6 +1,6 @@ | |
16 /* See LICENSE file for copyright and license details. */ | |
17 - | |
18 -static char *fontfallbacks[] = { | |
19 +#define MAXFONTS 10 | |
20 +static char *fontfallbacks[MAXFONTS] = { | |
21 "dejavu sans", | |
22 "roboto", | |
23 "ubuntu", | |
24 diff --git a/sent.c b/sent.c | |
25 index dfadd3a..5875f5e 100644 | |
26 --- a/sent.c | |
27 +++ b/sent.c | |
28 @@ -18,6 +18,7 @@ | |
29 #include <X11/Xlib.h> | |
30 #include <X11/Xutil.h> | |
31 #include <X11/Xft/Xft.h> | |
32 +#include <X11/Xresource.h> | |
33 | |
34 #include "arg.h" | |
35 #include "util.h" | |
36 @@ -105,6 +106,7 @@ static void xdraw(void); | |
37 static void xhints(void); | |
38 static void xinit(void); | |
39 static void xloadfonts(void); | |
40 +static void xresources(void); | |
41 | |
42 static void bpress(XEvent *); | |
43 static void cmessage(XEvent *); | |
44 @@ -573,6 +575,7 @@ xinit(void) | |
45 | |
46 if (!(xw.dpy = XOpenDisplay(NULL))) | |
47 die("sent: Unable to open display"); | |
48 + xresources(); | |
49 xw.scr = XDefaultScreen(xw.dpy); | |
50 xw.vis = XDefaultVisual(xw.dpy, xw.scr); | |
51 resize(DisplayWidth(xw.dpy, xw.scr), DisplayHeight(xw.dpy, xw.s… | |
52 @@ -632,6 +635,36 @@ xloadfonts(void) | |
53 free(fstrs[j]); | |
54 } | |
55 | |
56 +void | |
57 +xresources(void) { | |
58 + XrmInitialize(); | |
59 + char* xrm; | |
60 + if ((xrm = XResourceManagerString(xw.dpy))) { | |
61 + char *type; | |
62 + XrmDatabase xdb = XrmGetStringDatabase(xrm); | |
63 + XrmValue xval; | |
64 + if (XrmGetResource(xdb, "sent.font", "*", &type, &xval)… | |
65 + int fc = 0; | |
66 + char *token; | |
67 + char *delimiter = ","; | |
68 + char *font_string = (char *)xval.addr; | |
69 + | |
70 + // Tokenize the font names and store them in th… | |
71 + token = strtok(font_string, delimiter); | |
72 + while (token != NULL && fc < MAXFONTS) { | |
73 + fontfallbacks[fc] = strdup(token); | |
74 + fc++; | |
75 + token = strtok(NULL, delimiter); | |
76 + } | |
77 + } | |
78 + if (XrmGetResource(xdb, "sent.foreground", "*", &type, … | |
79 + colors[0] = strdup(xval.addr); | |
80 + if (XrmGetResource(xdb, "sent.background", "*", &type, … | |
81 + colors[1] = strdup(xval.addr); | |
82 + XrmDestroyDatabase(xdb); | |
83 + } | |
84 +} | |
85 + | |
86 void | |
87 bpress(XEvent *e) | |
88 { | |
89 -- | |
90 2.41.0 | |
91 |