summaryrefslogtreecommitdiff
path: root/patches/0st-xresources-20200604-9ba7ecf.diff
diff options
context:
space:
mode:
Diffstat (limited to 'patches/0st-xresources-20200604-9ba7ecf.diff')
-rw-r--r--patches/0st-xresources-20200604-9ba7ecf.diff184
1 files changed, 0 insertions, 184 deletions
diff --git a/patches/0st-xresources-20200604-9ba7ecf.diff b/patches/0st-xresources-20200604-9ba7ecf.diff
deleted file mode 100644
index 78ba00a..0000000
--- a/patches/0st-xresources-20200604-9ba7ecf.diff
+++ /dev/null
@@ -1,184 +0,0 @@
-From 2752a599ee01305a435729bfacf43b1dde7cf0ef Mon Sep 17 00:00:00 2001
-From: Benji Encalada Mora <benji@encalada.dev>
-Date: Thu, 4 Jun 2020 00:41:10 -0500
-Subject: [PATCH] fix: replace xfps and actionfps variables
-
----
- config.def.h | 36 ++++++++++++++++++++++++
- x.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 110 insertions(+), 4 deletions(-)
-
-diff --git a/config.def.h b/config.def.h
-index 6f05dce..9b99782 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -168,6 +168,42 @@ static unsigned int defaultattr = 11;
- */
- static uint forcemousemod = ShiftMask;
-
-+/*
-+ * Xresources preferences to load at startup
-+ */
-+ResourcePref resources[] = {
-+ { "font", STRING, &font },
-+ { "color0", STRING, &colorname[0] },
-+ { "color1", STRING, &colorname[1] },
-+ { "color2", STRING, &colorname[2] },
-+ { "color3", STRING, &colorname[3] },
-+ { "color4", STRING, &colorname[4] },
-+ { "color5", STRING, &colorname[5] },
-+ { "color6", STRING, &colorname[6] },
-+ { "color7", STRING, &colorname[7] },
-+ { "color8", STRING, &colorname[8] },
-+ { "color9", STRING, &colorname[9] },
-+ { "color10", STRING, &colorname[10] },
-+ { "color11", STRING, &colorname[11] },
-+ { "color12", STRING, &colorname[12] },
-+ { "color13", STRING, &colorname[13] },
-+ { "color14", STRING, &colorname[14] },
-+ { "color15", STRING, &colorname[15] },
-+ { "background", STRING, &colorname[256] },
-+ { "foreground", STRING, &colorname[257] },
-+ { "cursorColor", STRING, &colorname[258] },
-+ { "termname", STRING, &termname },
-+ { "shell", STRING, &shell },
-+ { "minlatency", INTEGER, &minlatency },
-+ { "maxlatency", INTEGER, &maxlatency },
-+ { "blinktimeout", INTEGER, &blinktimeout },
-+ { "bellvolume", INTEGER, &bellvolume },
-+ { "tabspaces", INTEGER, &tabspaces },
-+ { "borderpx", INTEGER, &borderpx },
-+ { "cwscale", FLOAT, &cwscale },
-+ { "chscale", FLOAT, &chscale },
-+};
-+
- /*
- * Internal mouse shortcuts.
- * Beware that overloading Button1 will disable the selection.
-diff --git a/x.c b/x.c
-index 210f184..76f167f 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"
-@@ -45,6 +46,19 @@ typedef struct {
- signed char appcursor; /* application cursor */
- } Key;
-
-+/* Xresources preferences */
-+enum resource_type {
-+ STRING = 0,
-+ INTEGER = 1,
-+ FLOAT = 2
-+};
-+
-+typedef struct {
-+ char *name;
-+ enum resource_type type;
-+ void *dst;
-+} ResourcePref;
-+
- /* X modifiers */
- #define XK_ANY_MOD UINT_MAX
- #define XK_NO_MOD 0
-@@ -828,8 +842,8 @@ xclear(int x1, int y1, int x2, int y2)
- void
- xhints(void)
- {
-- XClassHint class = {opt_name ? opt_name : termname,
-- opt_class ? opt_class : termname};
-+ XClassHint class = {opt_name ? opt_name : "st",
-+ opt_class ? opt_class : "St"};
- XWMHints wm = {.flags = InputHint, .input = 1};
- XSizeHints *sizeh;
-
-@@ -1104,8 +1118,6 @@ xinit(int cols, int rows)
- pid_t thispid = getpid();
- XColor xmousefg, xmousebg;
-
-- if (!(xw.dpy = XOpenDisplay(NULL)))
-- die("can't open display\n");
- xw.scr = XDefaultScreen(xw.dpy);
- xw.vis = XDefaultVisual(xw.dpy, xw.scr);
-
-@@ -1964,6 +1976,59 @@ run(void)
- }
- }
-
-+int
-+resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst)
-+{
-+ char **sdst = dst;
-+ int *idst = dst;
-+ float *fdst = dst;
-+
-+ char fullname[256];
-+ char fullclass[256];
-+ char *type;
-+ XrmValue ret;
-+
-+ snprintf(fullname, sizeof(fullname), "%s.%s",
-+ opt_name ? opt_name : "st", name);
-+ snprintf(fullclass, sizeof(fullclass), "%s.%s",
-+ opt_class ? opt_class : "St", name);
-+ fullname[sizeof(fullname) - 1] = fullclass[sizeof(fullclass) - 1] = '\0';
-+
-+ XrmGetResource(db, fullname, fullclass, &type, &ret);
-+ if (ret.addr == NULL || strncmp("String", type, 64))
-+ return 1;
-+
-+ switch (rtype) {
-+ case STRING:
-+ *sdst = ret.addr;
-+ break;
-+ case INTEGER:
-+ *idst = strtoul(ret.addr, NULL, 10);
-+ break;
-+ case FLOAT:
-+ *fdst = strtof(ret.addr, NULL);
-+ break;
-+ }
-+ return 0;
-+}
-+
-+void
-+config_init(void)
-+{
-+ char *resm;
-+ XrmDatabase db;
-+ ResourcePref *p;
-+
-+ XrmInitialize();
-+ resm = XResourceManagerString(xw.dpy);
-+ if (!resm)
-+ return;
-+
-+ db = XrmGetStringDatabase(resm);
-+ for (p = resources; p < resources + LEN(resources); p++)
-+ resource_load(db, p->name, p->type, p->dst);
-+}
-+
- void
- usage(void)
- {
-@@ -2037,6 +2102,11 @@ run:
-
- setlocale(LC_CTYPE, "");
- XSetLocaleModifiers("");
-+
-+ if(!(xw.dpy = XOpenDisplay(NULL)))
-+ die("Can't open display\n");
-+
-+ config_init();
- cols = MAX(cols, 1);
- rows = MAX(rows, 1);
- tnew(cols, rows);
---
-2.26.2
-