tAdapt newwindow() - surf - customized build of surf, the suckless webkit browser
 (HTM) git clone git://src.adamsgaard.dk/surf
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit adc650f3999aeb9a781efad10b91b74ae5371f11
 (DIR) parent 5bca2223399bb18bada2a48db7411d181e3186e6
 (HTM) Author: Quentin Rameau <quinq@fifth.space>
       Date:   Fri, 20 Nov 2015 17:39:45 +0100
       
       Adapt newwindow()
       
       Reorder cmdline options alphabetically and try to keep settings as they
       have been toggled in this surf client.
       
       Diffstat:
         M surf.c                              |      61 ++++++++++++++++++-------------
       
       1 file changed, 36 insertions(+), 25 deletions(-)
       ---
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -1052,45 +1052,56 @@ showview(WebKitWebView *v, Client *c)
        }
        
        void
       -newwindow(Client *c, const Arg *arg, gboolean noembed)
       +newwindow(Client *c, const Arg *a, int noembed)
        {
       -        guint i = 0;
       -        const char *cmd[18], *uri;
       -        const Arg a = { .v = (void *)cmd };
       +        int i = 0;
                char tmp[64];
       +        const char *cmd[26], *uri;
       +        const Arg arg = { .v = cmd };
        
                cmd[i++] = argv0;
                cmd[i++] = "-a";
                cmd[i++] = cookiepolicies;
       -        if (!enablescrollbars)
       -                cmd[i++] = "-b";
       +        cmd[i++] = enablescrollbars ? "-B" : "-b";
       +        if (cookiefile && g_strcmp0(cookiefile, "")) {
       +                cmd[i++] = "-c";
       +                cmd[i++] = cookiefile;
       +        }
       +        cmd[i++] = enablecache ? "-D" : "-d";
                if (embed && !noembed) {
                        cmd[i++] = "-e";
       -                snprintf(tmp, LENGTH(tmp), "%u", (int)embed);
       +                snprintf(tmp, LENGTH(tmp), "%lu", embed);
                        cmd[i++] = tmp;
                }
       -        if (!allowgeolocation)
       -                cmd[i++] = "-g";
       -        if (!loadimages)
       -                cmd[i++] = "-i";
       -        if (kioskmode)
       -                cmd[i++] = "-k";
       -        if (!enableplugins)
       -                cmd[i++] = "-p";
       -        if (!enablescripts)
       -                cmd[i++] = "-s";
       +        cmd[i++] = runinfullscreen ? "-F" : "-f";
       +        cmd[i++] = allowgeolocation ? "-G" : "-g";
       +        cmd[i++] = loadimages ? "-I" : "-i";
       +        cmd[i++] = kioskmode ? "-K" : "-k";
       +        cmd[i++] = enablestyle ? "-M" : "-m";
       +        cmd[i++] = enableinspector ? "-N" : "-n";
       +        cmd[i++] = enableplugins ? "-P" : "-p";
       +        if (scriptfile && g_strcmp0(scriptfile, "")) {
       +                cmd[i++] = "-r";
       +                cmd[i++] = scriptfile;
       +        }
       +        cmd[i++] = enablescripts ? "-S" : "-s";
       +        if (stylefile && g_strcmp0(stylefile, "")) {
       +                cmd[i++] = "-t";
       +                cmd[i++] = stylefile;
       +        }
       +        if (fulluseragent && g_strcmp0(fulluseragent, "")) {
       +                cmd[i++] = "-u";
       +                cmd[i++] = fulluseragent;
       +        }
                if (showxid)
                        cmd[i++] = "-x";
       -        if (enablecache)
       -                cmd[i++] = "-D";
       -        cmd[i++] = "-c";
       -        cmd[i++] = cookiefile;
       +        /* do not keep zoom level */
                cmd[i++] = "--";
       -        uri = arg->v ? (char *)arg->v : c->linkhover;
       -        if (uri)
       +        if ((uri = a->v))
                        cmd[i++] = uri;
       -        cmd[i++] = NULL;
       -        spawn(NULL, &a);
       +        cmd[i] = NULL;
       +
       +        spawn(c, &arg);
        }
        
        GtkWidget *