|
From 8d8ca34a8e61733711e23ce43b88435bfdfd4962 Mon Sep 17 00:00:00 2001
|
|
From: knary <theknary@gmail.com>
|
|
Date: Mon, 25 Mar 2019 15:03:15 -0400
|
|
Subject: [PATCH] This patch replaces scriptfile with an array of
|
|
scriptfiles[]. This allows for the inclusion of multiple javascript files
|
|
instead of filling up one file with multiple script plugins.
|
|
|
|
---
|
|
config.def.h | 4 +++-
|
|
surf.c | 23 +++++++++++++++--------
|
|
2 files changed, 18 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/config.def.h b/config.def.h
|
|
index 34265f6..7d7d68e 100644
|
|
--- a/config.def.h
|
|
+++ b/config.def.h
|
|
@@ -1,11 +1,13 @@
|
|
/* modifier 0 means no modifier */
|
|
static int surfuseragent = 1; /* Append Surf version to default WebKit user agent */
|
|
static char *fulluseragent = ""; /* Or override the whole user agent string */
|
|
-static char *scriptfile = "~/.surf/script.js";
|
|
static char *styledir = "~/.surf/styles/";
|
|
static char *certdir = "~/.surf/certificates/";
|
|
static char *cachedir = "~/.surf/cache/";
|
|
static char *cookiefile = "~/.surf/cookies.txt";
|
|
+static char *scriptfiles[] = {
|
|
+ "~/.surf/script.js",
|
|
+};
|
|
|
|
/* Webkit default features */
|
|
/* Highest priority value will be used.
|
|
diff --git a/surf.c b/surf.c
|
|
index 2b54e3c..34a75de 100644
|
|
--- a/surf.c
|
|
+++ b/surf.c
|
|
@@ -337,9 +337,11 @@ setup(void)
|
|
|
|
/* dirs and files */
|
|
cookiefile = buildfile(cookiefile);
|
|
- scriptfile = buildfile(scriptfile);
|
|
cachedir = buildpath(cachedir);
|
|
certdir = buildpath(certdir);
|
|
+ for (i = 0; i < LENGTH(scriptfiles); i++) {
|
|
+ scriptfiles[i] = buildfile(scriptfiles[i]);
|
|
+ }
|
|
|
|
gdkkb = gdk_seat_get_keyboard(gdk_display_get_default_seat(gdpy));
|
|
|
|
@@ -945,9 +947,11 @@ runscript(Client *c)
|
|
gchar *script;
|
|
gsize l;
|
|
|
|
- if (g_file_get_contents(scriptfile, &script, &l, NULL) && l)
|
|
- evalscript(c, "%s", script);
|
|
- g_free(script);
|
|
+ for (int i = 0; i < LENGTH(scriptfiles); i++) {
|
|
+ if (g_file_get_contents(scriptfiles[i], &script, &l, NULL) && l)
|
|
+ evalscript(c, "%s", script);
|
|
+ g_free(script);
|
|
+ }
|
|
}
|
|
|
|
void
|
|
@@ -1010,9 +1014,9 @@ newwindow(Client *c, const Arg *a, int noembed)
|
|
cmd[i++] = curconfig[Style].val.i ? "-M" : "-m" ;
|
|
cmd[i++] = curconfig[Inspector].val.i ? "-N" : "-n" ;
|
|
cmd[i++] = curconfig[Plugins].val.i ? "-P" : "-p" ;
|
|
- if (scriptfile && g_strcmp0(scriptfile, "")) {
|
|
+ if (scriptfiles[0] && g_strcmp0(scriptfiles[0], "")) {
|
|
cmd[i++] = "-r";
|
|
- cmd[i++] = scriptfile;
|
|
+ cmd[i++] = scriptfiles[0];
|
|
}
|
|
cmd[i++] = curconfig[JavaScript].val.i ? "-S" : "-s";
|
|
cmd[i++] = curconfig[StrictTLS].val.i ? "-T" : "-t";
|
|
@@ -1076,9 +1080,12 @@ cleanup(void)
|
|
close(pipein[0]);
|
|
close(pipeout[1]);
|
|
g_free(cookiefile);
|
|
- g_free(scriptfile);
|
|
g_free(stylefile);
|
|
g_free(cachedir);
|
|
+ for (int i = 0; i < LENGTH(scriptfiles); i++) {
|
|
+ g_free(scriptfiles[i]);
|
|
+ }
|
|
+
|
|
XCloseDisplay(dpy);
|
|
}
|
|
|
|
@@ -2067,7 +2074,7 @@ main(int argc, char *argv[])
|
|
defconfig[Plugins].prio = 2;
|
|
break;
|
|
case 'r':
|
|
- scriptfile = EARGF(usage());
|
|
+ scriptfiles[0] = EARGF(usage());
|
|
break;
|
|
case 's':
|
|
defconfig[JavaScript].val.i = 0;
|
|
--
|
|
2.21.0
|
|
|