surf-multijs-20190325-d068a38.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       surf-multijs-20190325-d068a38.diff (3096B)
       ---
            1 From 8d8ca34a8e61733711e23ce43b88435bfdfd4962 Mon Sep 17 00:00:00 2001
            2 From: knary <theknary@gmail.com>
            3 Date: Mon, 25 Mar 2019 15:03:15 -0400
            4 Subject: [PATCH] This patch replaces scriptfile with an array of
            5  scriptfiles[]. This allows for the inclusion of multiple javascript files
            6  instead of filling up one file with multiple script plugins.
            7 
            8 ---
            9  config.def.h |  4 +++-
           10  surf.c       | 23 +++++++++++++++--------
           11  2 files changed, 18 insertions(+), 9 deletions(-)
           12 
           13 diff --git a/config.def.h b/config.def.h
           14 index 34265f6..7d7d68e 100644
           15 --- a/config.def.h
           16 +++ b/config.def.h
           17 @@ -1,11 +1,13 @@
           18  /* modifier 0 means no modifier */
           19  static int surfuseragent    = 1;  /* Append Surf version to default WebKit user agent */
           20  static char *fulluseragent  = ""; /* Or override the whole user agent string */
           21 -static char *scriptfile     = "~/.surf/script.js";
           22  static char *styledir       = "~/.surf/styles/";
           23  static char *certdir        = "~/.surf/certificates/";
           24  static char *cachedir       = "~/.surf/cache/";
           25  static char *cookiefile     = "~/.surf/cookies.txt";
           26 +static char *scriptfiles[]  = {
           27 +        "~/.surf/script.js",
           28 +};
           29  
           30  /* Webkit default features */
           31  /* Highest priority value will be used.
           32 diff --git a/surf.c b/surf.c
           33 index 2b54e3c..34a75de 100644
           34 --- a/surf.c
           35 +++ b/surf.c
           36 @@ -337,9 +337,11 @@ setup(void)
           37  
           38          /* dirs and files */
           39          cookiefile = buildfile(cookiefile);
           40 -        scriptfile = buildfile(scriptfile);
           41          cachedir   = buildpath(cachedir);
           42          certdir    = buildpath(certdir);
           43 +        for (i = 0; i < LENGTH(scriptfiles); i++) {
           44 +                scriptfiles[i] = buildfile(scriptfiles[i]);
           45 +        }
           46  
           47          gdkkb = gdk_seat_get_keyboard(gdk_display_get_default_seat(gdpy));
           48  
           49 @@ -945,9 +947,11 @@ runscript(Client *c)
           50          gchar *script;
           51          gsize l;
           52  
           53 -        if (g_file_get_contents(scriptfile, &script, &l, NULL) && l)
           54 -                evalscript(c, "%s", script);
           55 -        g_free(script);
           56 +        for (int i = 0; i < LENGTH(scriptfiles); i++) {
           57 +                if (g_file_get_contents(scriptfiles[i], &script, &l, NULL) && l)
           58 +                        evalscript(c, "%s", script);
           59 +                g_free(script);
           60 +        }
           61  }
           62  
           63  void
           64 @@ -1010,9 +1014,9 @@ newwindow(Client *c, const Arg *a, int noembed)
           65          cmd[i++] = curconfig[Style].val.i ?           "-M" : "-m" ;
           66          cmd[i++] = curconfig[Inspector].val.i ?       "-N" : "-n" ;
           67          cmd[i++] = curconfig[Plugins].val.i ?         "-P" : "-p" ;
           68 -        if (scriptfile && g_strcmp0(scriptfile, "")) {
           69 +        if (scriptfiles[0] && g_strcmp0(scriptfiles[0], "")) {
           70                  cmd[i++] = "-r";
           71 -                cmd[i++] = scriptfile;
           72 +                cmd[i++] = scriptfiles[0];
           73          }
           74          cmd[i++] = curconfig[JavaScript].val.i ? "-S" : "-s";
           75          cmd[i++] = curconfig[StrictTLS].val.i ? "-T" : "-t";
           76 @@ -1076,9 +1080,12 @@ cleanup(void)
           77          close(pipein[0]);
           78          close(pipeout[1]);
           79          g_free(cookiefile);
           80 -        g_free(scriptfile);
           81          g_free(stylefile);
           82          g_free(cachedir);
           83 +        for (int i = 0; i < LENGTH(scriptfiles); i++) {
           84 +                g_free(scriptfiles[i]);
           85 +        }
           86 +
           87          XCloseDisplay(dpy);
           88  }
           89  
           90 @@ -2067,7 +2074,7 @@ main(int argc, char *argv[])
           91                  defconfig[Plugins].prio = 2;
           92                  break;
           93          case 'r':
           94 -                scriptfile = EARGF(usage());
           95 +                scriptfiles[0] = EARGF(usage());
           96                  break;
           97          case 's':
           98                  defconfig[JavaScript].val.i = 0;
           99 -- 
          100 2.21.0
          101