summaryrefslogtreecommitdiff
path: root/st-xresources-signal-reloading-20220407-ef05519.diff
diff options
context:
space:
mode:
authorCraig Jennings <craigmartinjennings@gmail.com>2023-07-23 17:41:02 -0500
committerCraig Jennings <craigmartinjennings@gmail.com>2023-07-23 17:41:02 -0500
commit022efec2510304ca41c5224085970df3f5e53dba (patch)
treee8d155036016e9bccaaa338656608ac859fcd18d /st-xresources-signal-reloading-20220407-ef05519.diff
parentf142442605da70b77ba3bccad552d5ac61331282 (diff)
moving xresources patch diff to patches_applied directory
Diffstat (limited to 'st-xresources-signal-reloading-20220407-ef05519.diff')
-rw-r--r--st-xresources-signal-reloading-20220407-ef05519.diff153
1 files changed, 0 insertions, 153 deletions
diff --git a/st-xresources-signal-reloading-20220407-ef05519.diff b/st-xresources-signal-reloading-20220407-ef05519.diff
deleted file mode 100644
index 6715ebf..0000000
--- a/st-xresources-signal-reloading-20220407-ef05519.diff
+++ /dev/null
@@ -1,153 +0,0 @@
-From b2a9c96cc3c9152c4e8188f341606c914741cb50 Mon Sep 17 00:00:00 2001
-From: wael <40663@protonmail.com>
-Date: Thu, 7 Apr 2022 17:14:02 +0300
-Subject: [PATCH] fix xresources with signal reloading removing arg.h and st.h
- & remove unneccesary xresources variables(?)
-
----
- x.c | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 115 insertions(+)
-
-diff --git a/x.c b/x.c
-index 2a3bd38..e8fe7ad 100644
---- a/x.c
-+++ b/x.c
-@@ -14,6 +14,7 @@
- #include <X11/keysym.h>
- #include <X11/Xft/Xft.h>
- #include <X11/XKBlib.h>
-+#include <X11/Xresource.h>
-
- char *argv0;
- #include "arg.h"
-@@ -2011,6 +2012,118 @@ run(void)
- }
- }
-
-+
-+#define XRESOURCE_LOAD_META(NAME) \
-+ if(!XrmGetResource(xrdb, "st." NAME, "st." NAME, &type, &ret)) \
-+ XrmGetResource(xrdb, "*." NAME, "*." NAME, &type, &ret); \
-+ if (ret.addr != NULL && !strncmp("String", type, 64))
-+
-+#define XRESOURCE_LOAD_STRING(NAME, DST) \
-+ XRESOURCE_LOAD_META(NAME) \
-+ DST = ret.addr;
-+
-+#define XRESOURCE_LOAD_CHAR(NAME, DST) \
-+ XRESOURCE_LOAD_META(NAME) \
-+ DST = ret.addr[0];
-+
-+#define XRESOURCE_LOAD_INTEGER(NAME, DST) \
-+ XRESOURCE_LOAD_META(NAME) \
-+ DST = strtoul(ret.addr, NULL, 10);
-+
-+#define XRESOURCE_LOAD_FLOAT(NAME, DST) \
-+ XRESOURCE_LOAD_META(NAME) \
-+ DST = strtof(ret.addr, NULL);
-+
-+void
-+xrdb_load(void)
-+{
-+ /* XXX */
-+ char *xrm;
-+ char *type;
-+ XrmDatabase xrdb;
-+ XrmValue ret;
-+ Display *dpy;
-+
-+ if(!(dpy = XOpenDisplay(NULL)))
-+ die("Can't open display\n");
-+
-+ XrmInitialize();
-+ xrm = XResourceManagerString(dpy);
-+
-+ if (xrm != NULL) {
-+ xrdb = XrmGetStringDatabase(xrm);
-+
-+ /* handling colors here without macros to do via loop. */
-+ int i = 0;
-+ char loadValue[12] = "";
-+ for (i = 0; i < 256; i++)
-+ {
-+ sprintf(loadValue, "%s%d", "st.color", i);
-+
-+ if(!XrmGetResource(xrdb, loadValue, loadValue, &type, &ret))
-+ {
-+ sprintf(loadValue, "%s%d", "*.color", i);
-+ if (!XrmGetResource(xrdb, loadValue, loadValue, &type, &ret))
-+ /* reset if not found (unless in range for defaults). */
-+ if (i > 15)
-+ colorname[i] = NULL;
-+ }
-+
-+ if (ret.addr != NULL && !strncmp("String", type, 64))
-+ colorname[i] = ret.addr;
-+ }
-+
-+ XRESOURCE_LOAD_STRING("foreground", colorname[defaultfg]);
-+ XRESOURCE_LOAD_STRING("background", colorname[defaultbg]);
-+ XRESOURCE_LOAD_STRING("cursorColor", colorname[defaultcs])
-+ else {
-+ // this looks confusing because we are chaining off of the if
-+ // in the macro. probably we should be wrapping everything blocks
-+ // so this isn't possible...
-+ defaultcs = defaultfg;
-+ }
-+ XRESOURCE_LOAD_STRING("reverse-cursor", colorname[defaultrcs])
-+ else {
-+ // see above.
-+ defaultrcs = defaultbg;
-+ }
-+
-+ XRESOURCE_LOAD_STRING("font", font);
-+ XRESOURCE_LOAD_STRING("termname", termname);
-+
-+ XRESOURCE_LOAD_INTEGER("blinktimeout", blinktimeout);
-+ XRESOURCE_LOAD_INTEGER("bellvolume", bellvolume);
-+ XRESOURCE_LOAD_INTEGER("borderpx", borderpx);
-+ XRESOURCE_LOAD_INTEGER("cursorshape", cursorshape);
-+
-+ XRESOURCE_LOAD_FLOAT("cwscale", cwscale);
-+ XRESOURCE_LOAD_FLOAT("chscale", chscale);
-+ }
-+ XFlush(dpy);
-+}
-+
-+void
-+reload(int sig)
-+{
-+ xrdb_load();
-+
-+ /* colors, fonts */
-+ xloadcols();
-+ xunloadfonts();
-+ xloadfonts(font, 0);
-+
-+ /* pretend the window just got resized */
-+ cresize(win.w, win.h);
-+
-+ redraw();
-+
-+ /* triggers re-render if we're visible. */
-+ ttywrite("\033[O", 3, 1);
-+
-+ signal(SIGUSR1, reload);
-+}
-+
-+
- void
- usage(void)
- {
-@@ -2084,6 +2197,8 @@ run:
-
- setlocale(LC_CTYPE, "");
- XSetLocaleModifiers("");
-+ xrdb_load();
-+ signal(SIGUSR1, reload);
- cols = MAX(cols, 1);
- rows = MAX(rows, 1);
- tnew(cols, rows);
---
-2.35.1
-