iAllow the specification of the html5 db path. - surf - Surf web browser. Err gopher.r-36.net 70
i Err gopher.r-36.net 70
1Log /scm/surf//log.gph gopher.r-36.net 70
1Files /scm/surf//files.gph gopher.r-36.net 70
1Refs /scm/surf//refs.gph gopher.r-36.net 70
1README /scm/surf//file/README.gph gopher.r-36.net 70
1LICENSE /scm/surf//file/LICENSE.gph gopher.r-36.net 70
i--- Err gopher.r-36.net 70
1commit 0369394f5033b89cc346b682b90a927bdb17f11a /scm/surf//commit/0369394f5033b89cc346b682b90a927bdb17f11a.gph gopher.r-36.net 70
1parent aade850357394f2a14cfaa31ffd68be7ac98a370 /scm/surf//commit/aade850357394f2a14cfaa31ffd68be7ac98a370.gph gopher.r-36.net 70
hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net gopher.r-36.net 70
iDate: Wed, 19 Apr 2017 18:38:53 +0200 Err gopher.r-36.net 70
i Err gopher.r-36.net 70
iAllow the specification of the html5 db path. Err gopher.r-36.net 70
i Err gopher.r-36.net 70
iDiffstat: Err gopher.r-36.net 70
i config.def.h | 138 +++++++++++++++---------------- Err gopher.r-36.net 70
i surf.c | 3 +++ Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i2 files changed, 71 insertions(+), 70 deletions(-) Err gopher.r-36.net 70
i--- Err gopher.r-36.net 70
1diff --git a/config.def.h b/config.def.h /scm/surf//file/config.def.h.gph gopher.r-36.net 70
i@@ -1,10 +1,11 @@ Err gopher.r-36.net 70
i /* modifier 0 means no modifier */ Err gopher.r-36.net 70
i static char *useragent = "Mozilla/5.0 (X11; U; Unix; en-US) " Err gopher.r-36.net 70
i- "AppleWebKit/537.15 (KHTML, like Gecko) " Err gopher.r-36.net 70
i- "Chrome/24.0.1295.0 Safari/537.15 Surf/"VERSION; Err gopher.r-36.net 70
i+ "AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 " Err gopher.r-36.net 70
i+ "Safari/537.15 Surf/"VERSION; Err gopher.r-36.net 70
i static char *scriptfile = "~/.surf/script.js"; Err gopher.r-36.net 70
i static char *styledir = "~/.surf/styles/"; Err gopher.r-36.net 70
i static char *cachefolder = "~/.surf/cache/"; Err gopher.r-36.net 70
i+static char *dbfolder = "~/.surf/databases/"; Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i static Bool kioskmode = FALSE; /* Ignore shortcuts */ Err gopher.r-36.net 70
i static Bool showindicators = TRUE; /* Show indicators in window title */ Err gopher.r-36.net 70
i@@ -17,10 +18,10 @@ static gfloat zoomlevel = 1.0; /* Default zoom level */ Err gopher.r-36.net 70
i /* Soup default features */ Err gopher.r-36.net 70
i static char *cookiefile = "~/.surf/cookies.txt"; Err gopher.r-36.net 70
i static char *cookiepolicies = "Aa@"; /* A: accept all; a: accept nothing, Err gopher.r-36.net 70
i- * @: accept all except third party */ Err gopher.r-36.net 70
i+ @: accept all except third party */ Err gopher.r-36.net 70
i static char *cafile = "/etc/ssl/certs/ca-certificates.crt"; Err gopher.r-36.net 70
i-static Bool strictssl = TRUE; /* strict means if to refuse untrusted Err gopher.r-36.net 70
i- * tls/ssl connections */ Err gopher.r-36.net 70
i+static Bool strictssl = TRUE; /* strict means if untrusted SSL/TLS Err gopher.r-36.net 70
i+ * connections should be refused. */ Err gopher.r-36.net 70
i static time_t sessiontime = 3600; Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i /* Webkit default features */ Err gopher.r-36.net 70
i@@ -42,21 +43,19 @@ static Bool allowgeolocation = TRUE; Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i #define SETPROP(p, q, prompt) { \ Err gopher.r-36.net 70
i .v = (char *[]){ "/bin/sh", "-c", \ Err gopher.r-36.net 70
i- "prop=\"`xprop -id $2 $0 " \ Err gopher.r-36.net 70
i- "| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \ Err gopher.r-36.net 70
i- "| xargs -0 printf %b | dmenu -p \"$3\"`\" &&" \ Err gopher.r-36.net 70
i- "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \ Err gopher.r-36.net 70
i- p, q, winid, prompt, NULL \ Err gopher.r-36.net 70
i+ "prop=\"`xprop -id $2 $0 " \ Err gopher.r-36.net 70
i+ "| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \ Err gopher.r-36.net 70
i+ "| xargs -0 printf %b | dmenu -p \"$3\"`\" &&" \ Err gopher.r-36.net 70
i+ "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \ Err gopher.r-36.net 70
i+ p, q, winid, prompt, NULL \ Err gopher.r-36.net 70
i } \ Err gopher.r-36.net 70
i } Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i /* DOWNLOAD(URI, referer) */ Err gopher.r-36.net 70
i #define DOWNLOAD(d, r) { \ Err gopher.r-36.net 70
i .v = (char *[]){ "/bin/sh", "-c", \ Err gopher.r-36.net 70
i- "st -e /bin/sh -c \"curl -g -L -J -O --user-agent '$1'" \ Err gopher.r-36.net 70
i- " --referer '$2' -b $3 -c $3 '$0';" \ Err gopher.r-36.net 70
i- " sleep 5;\"", \ Err gopher.r-36.net 70
i- d, useragent, r, cookiefile, NULL \ Err gopher.r-36.net 70
i+ "/bin/sh -c \"download '$1' '$2' '$3' '$0'\"", \ Err gopher.r-36.net 70
i+ d, useragent, r, cookiefile, NULL \ Err gopher.r-36.net 70
i } \ Err gopher.r-36.net 70
i } Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i@@ -66,7 +65,7 @@ static Bool allowgeolocation = TRUE; Err gopher.r-36.net 70
i */ Err gopher.r-36.net 70
i #define PLUMB(u) {\ Err gopher.r-36.net 70
i .v = (char *[]){ "/bin/sh", "-c", \ Err gopher.r-36.net 70
i- "xdg-open \"$0\"", u, NULL \ Err gopher.r-36.net 70
i+ "plumb \"$0\"", u, NULL \ Err gopher.r-36.net 70
i } \ Err gopher.r-36.net 70
i } Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i@@ -76,8 +75,8 @@ static Bool allowgeolocation = TRUE; Err gopher.r-36.net 70
i * the list. Err gopher.r-36.net 70
i */ Err gopher.r-36.net 70
i static SiteStyle styles[] = { Err gopher.r-36.net 70
i- /* regexp file in $styledir */ Err gopher.r-36.net 70
i- { ".*", "default.css" }, Err gopher.r-36.net 70
i+ /* regexp file in $styledir */ Err gopher.r-36.net 70
i+ { ".*", "default.css" }, Err gopher.r-36.net 70
i }; Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i #define MODKEY GDK_CONTROL_MASK Err gopher.r-36.net 70
i@@ -88,62 +87,61 @@ static SiteStyle styles[] = { Err gopher.r-36.net 70
i * edit the CLEANMASK() macro. Err gopher.r-36.net 70
i */ Err gopher.r-36.net 70
i static Key keys[] = { Err gopher.r-36.net 70
i- /* modifier keyval function arg Focus */ Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_r, reload, { .b = FALSE } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 } }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { MODKEY, GDK_p, clipboard, { .b = TRUE } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_y, clipboard, { .b = FALSE } }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_q, zoom, { .i = 0 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_minus, zoom, { .i = -1 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_plus, zoom, { .i = +1 } }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { MODKEY, GDK_l, navigate, { .i = +1 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_h, navigate, { .i = -1 } }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { MODKEY, GDK_j, scroll_v, { .i = +1 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_k, scroll_v, { .i = -1 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_b, scroll_v, { .i = -10000 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_space, scroll_v, { .i = +10000 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_i, scroll_h, { .i = +1 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_u, scroll_h, { .i = -1 } }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { 0, GDK_F11, fullscreen, { 0 } }, Err gopher.r-36.net 70
i- { 0, GDK_Escape, stop, { 0 } }, Err gopher.r-36.net 70
i- { MODKEY, GDK_o, source, { 0 } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_o, inspector, { 0 } }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { MODKEY, GDK_g, spawn, SETPROP("_SURF_URI", "_SURF_GO", PROMPT_GOTO) }, Err gopher.r-36.net 70
i- { MODKEY, GDK_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_FIND) }, Err gopher.r-36.net 70
i- { MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_SLASH) }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { MODKEY, GDK_n, find, { .b = TRUE } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } }, Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_c, toggle, { .v = "enable-caret-browsing" } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_i, toggle, { .v = "auto-load-images" } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_s, toggle, { .v = "enable-scripts" } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_v, toggle, { .v = "enable-plugins" } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_t, togglesoup, { .v = "ssl-strict" } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_a, togglecookiepolicy, { 0 } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_m, togglestyle, { 0 } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_b, togglescrollbars, { 0 } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_g, togglegeolocation, { 0 } }, Err gopher.r-36.net 70
i- { MODKEY|GDK_SHIFT_MASK,GDK_y, toggleproxy, { 0 } }, Err gopher.r-36.net 70
i+ /* modifier keyval function arg Focus */ Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_r, reload, { .b = FALSE } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 } }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { MODKEY, GDK_p, clipboard, { .b = TRUE } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_y, clipboard, { .b = FALSE } }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_q, zoom, { .i = 0 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_minus, zoom, { .i = -1 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_plus, zoom, { .i = +1 } }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { MODKEY, GDK_l, navigate, { .i = +1 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_h, navigate, { .i = -1 } }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { MODKEY, GDK_j, scroll_v, { .i = +1 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_k, scroll_v, { .i = -1 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_b, scroll_v, { .i = -10000 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_space, scroll_v, { .i = +10000 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_i, scroll_h, { .i = +1 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_u, scroll_h, { .i = -1 } }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { 0, GDK_F11, fullscreen, { 0 } }, Err gopher.r-36.net 70
i+ { 0, GDK_Escape, stop, { 0 } }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_o, source, { 0 } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_o, inspector, { 0 } }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { MODKEY, GDK_g, spawn, SETPROP("_SURF_URI", "_SURF_GO", PROMPT_GOTO) }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_FIND) }, Err gopher.r-36.net 70
i+ { MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_SLASH) }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { MODKEY, GDK_n, find, { .b = TRUE } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } }, Err gopher.r-36.net 70
i+ Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_c, toggle, { .v = "enable-caret-browsing" } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_i, toggle, { .v = "auto-load-images" } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_s, toggle, { .v = "enable-scripts" } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_v, toggle, { .v = "enable-plugins" } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_t, togglesoup, { .v = "ssl-strict" } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_a, togglecookiepolicy, { 0 } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_m, togglestyle, { 0 } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_b, togglescrollbars, { 0 } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_g, togglegeolocation, { 0 } }, Err gopher.r-36.net 70
i+ { MODKEY|GDK_SHIFT_MASK,GDK_y, toggleproxy, { 0 } }, Err gopher.r-36.net 70
i }; Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i /* button definitions */ Err gopher.r-36.net 70
i /* click can be ClkDoc, ClkLink, ClkImg, ClkMedia, ClkSel, ClkEdit, ClkAny */ Err gopher.r-36.net 70
i static Button buttons[] = { Err gopher.r-36.net 70
i- /* click event mask button function argument */ Err gopher.r-36.net 70
i- { ClkLink, 0, 2, linkopenembed, { 0 } }, Err gopher.r-36.net 70
i- { ClkLink, MODKEY, 2, linkopen, { 0 } }, Err gopher.r-36.net 70
i- { ClkLink, MODKEY, 1, linkopen, { 0 } }, Err gopher.r-36.net 70
i- { ClkAny, 0, 8, navigate, { .i = -1 } }, Err gopher.r-36.net 70
i- { ClkAny, 0, 9, navigate, { .i = +1 } }, Err gopher.r-36.net 70
i+ /* click event mask button function argument */ Err gopher.r-36.net 70
i+ { ClkLink, 0, 2, linkopenembed, { 0 } }, Err gopher.r-36.net 70
i+ { ClkLink, MODKEY, 2, linkopen, { 0 } }, Err gopher.r-36.net 70
i+ { ClkLink, MODKEY, 1, linkopen, { 0 } }, Err gopher.r-36.net 70
i+ { ClkAny, 0, 8, navigate, { .i = -1 } }, Err gopher.r-36.net 70
i+ { ClkAny, 0, 9, navigate, { .i = +1 } }, Err gopher.r-36.net 70
i }; Err gopher.r-36.net 70
i- Err gopher.r-36.net 70
1diff --git a/surf.c b/surf.c /scm/surf//file/surf.c.gph gopher.r-36.net 70
i@@ -1042,6 +1042,8 @@ newclient(void) Err gopher.r-36.net 70
i runscript(frame); Err gopher.r-36.net 70
i Err gopher.r-36.net 70
i settings = webkit_web_view_get_settings(c->view); Err gopher.r-36.net 70
i+ g_object_set(G_OBJECT(settings), "html5-local-storage-database-path", Err gopher.r-36.net 70
i+ dbfolder, NULL); Err gopher.r-36.net 70
i if (!(ua = getenv("SURF_USERAGENT"))) Err gopher.r-36.net 70
i ua = useragent; Err gopher.r-36.net 70
i g_object_set(G_OBJECT(settings), "user-agent", ua, NULL); Err gopher.r-36.net 70
i@@ -1347,6 +1349,7 @@ setup(void) Err gopher.r-36.net 70
i cookiefile = buildfile(cookiefile); Err gopher.r-36.net 70
i scriptfile = buildfile(scriptfile); Err gopher.r-36.net 70
i cachefolder = buildpath(cachefolder); Err gopher.r-36.net 70
i+ dbfolder = buildpath(dbfolder); Err gopher.r-36.net 70
i if (stylefile == NULL) { Err gopher.r-36.net 70
i styledir = buildpath(styledir); Err gopher.r-36.net 70
i for (i = 0; i < LENGTH(styles); i++) { Err gopher.r-36.net 70
.