Introduction
Introduction Statistics Contact Development Disclaimer Help
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
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.