ifix stylesheet interna. - 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 90de5cdd15cf5cab330f1a0ea583be7a9682a030 /scm/surf//commit/90de5cdd15cf5cab330f1a0ea583be7a9682a030.gph gopher.r-36.net 70 1parent 344efec3fb932a9c5baae582fe70c72a0bc4a747 /scm/surf//commit/344efec3fb932a9c5baae582fe70c72a0bc4a747.gph gopher.r-36.net 70 hAuthor: Markus Teich URL:mailto:markus.teich@stusta.mhn.de gopher.r-36.net 70 iDate: Tue, 20 Jan 2015 16:13:31 +0100 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 ifix stylesheet interna. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i* no more segfault when running `surf -m` Err gopher.r-36.net 70 i* allow to enable custom styles after `surf -m` with mod+shift+m Err gopher.r-36.net 70 i* use enablestyles instead of the webkit-setting, which clears things up a bit Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i surf.c | 31 ++++++++++++------------------- Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i1 file changed, 12 insertions(+), 19 deletions(-) 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@@ -573,6 +573,9 @@ static gchar * Err gopher.r-36.net 70 i getstyle(const char *uri) { Err gopher.r-36.net 70 i int i; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i+ if(stylefile != NULL) Err gopher.r-36.net 70 i+ return g_strconcat("file://", stylefile, NULL); Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i for(i = 0; i < LENGTH(styles); i++) { Err gopher.r-36.net 70 i if(styles[i].regex && !regexec(&(styles[i].re), uri, 0, Err gopher.r-36.net 70 i NULL, 0)) { Err gopher.r-36.net 70 i@@ -704,7 +707,7 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c) { Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i setatom(c, AtomUri, uri); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i- if(stylefile == NULL && enablestyles) { Err gopher.r-36.net 70 i+ if(enablestyles) { Err gopher.r-36.net 70 i g_object_set(G_OBJECT(set), "user-stylesheet-uri", Err gopher.r-36.net 70 i getstyle(uri), NULL); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i@@ -770,7 +773,7 @@ newclient(void) { Err gopher.r-36.net 70 i GdkGeometry hints = { 1, 1 }; Err gopher.r-36.net 70 i GdkScreen *screen; Err gopher.r-36.net 70 i gdouble dpi; Err gopher.r-36.net 70 i- char *uri = NULL, *ua; Err gopher.r-36.net 70 i+ char *ua; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if(!(c = calloc(1, sizeof(Client)))) Err gopher.r-36.net 70 i die("Cannot malloc!\n"); Err gopher.r-36.net 70 i@@ -900,9 +903,9 @@ newclient(void) { 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- if (stylefile != NULL) { Err gopher.r-36.net 70 i- uri = g_strconcat("file://", stylefile, NULL); Err gopher.r-36.net 70 i- g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL); Err gopher.r-36.net 70 i+ if (enablestyles) { Err gopher.r-36.net 70 i+ g_object_set(G_OBJECT(settings), "user-stylesheet-uri", Err gopher.r-36.net 70 i+ getstyle("about:blank"), NULL); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i g_object_set(G_OBJECT(settings), "auto-load-images", loadimages, Err gopher.r-36.net 70 i NULL); Err gopher.r-36.net 70 i@@ -958,9 +961,6 @@ newclient(void) { Err gopher.r-36.net 70 i fullscreen(c, NULL); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i- if(stylefile != NULL) Err gopher.r-36.net 70 i- g_free(uri); Err gopher.r-36.net 70 i- Err gopher.r-36.net 70 i setatom(c, AtomFind, ""); Err gopher.r-36.net 70 i setatom(c, AtomUri, "about:blank"); Err gopher.r-36.net 70 i if(hidebackground) Err gopher.r-36.net 70 i@@ -1192,7 +1192,7 @@ setup(void) { Err gopher.r-36.net 70 i scriptfile = buildpath(scriptfile); Err gopher.r-36.net 70 i cachefolder = buildpath(cachefolder); Err gopher.r-36.net 70 i styledir = buildpath(styledir); Err gopher.r-36.net 70 i- if(stylefile == NULL && enablestyles) { Err gopher.r-36.net 70 i+ if(stylefile == NULL) { Err gopher.r-36.net 70 i for(i = 0; i < LENGTH(styles); i++) { Err gopher.r-36.net 70 i if(regcomp(&(styles[i].re), styles[i].regex, Err gopher.r-36.net 70 i REG_EXTENDED)) { Err gopher.r-36.net 70 i@@ -1386,13 +1386,8 @@ togglestyle(Client *c, const Arg *arg) { Err gopher.r-36.net 70 i WebKitWebSettings *settings = webkit_web_view_get_settings(c->view); Err gopher.r-36.net 70 i char *uri; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i- g_object_get(G_OBJECT(settings), "user-stylesheet-uri", &uri, NULL); Err gopher.r-36.net 70 i- if(stylefile == NULL && enablestyles) { Err gopher.r-36.net 70 i- uri = (uri && uri[0])? g_strdup("") : getstyle(geturi(c)); Err gopher.r-36.net 70 i- } else { Err gopher.r-36.net 70 i- uri = uri[0]? g_strdup("") : g_strconcat("file://", Err gopher.r-36.net 70 i- stylefile, NULL); Err gopher.r-36.net 70 i- } Err gopher.r-36.net 70 i+ enablestyles = !enablestyles; Err gopher.r-36.net 70 i+ uri = enablestyles ? getstyle(geturi(c)) : g_strdup(""); Err gopher.r-36.net 70 i g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i updatetitle(c); Err gopher.r-36.net 70 i@@ -1401,7 +1396,6 @@ togglestyle(Client *c, const Arg *arg) { Err gopher.r-36.net 70 i static void Err gopher.r-36.net 70 i gettogglestat(Client *c){ Err gopher.r-36.net 70 i gboolean value; Err gopher.r-36.net 70 i- char *uri; Err gopher.r-36.net 70 i int p = 0; Err gopher.r-36.net 70 i WebKitWebSettings *settings = webkit_web_view_get_settings(c->view); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -1424,8 +1418,7 @@ gettogglestat(Client *c){ Err gopher.r-36.net 70 i g_object_get(G_OBJECT(settings), "enable-plugins", &value, NULL); Err gopher.r-36.net 70 i togglestat[p++] = value? 'V': 'v'; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i- g_object_get(G_OBJECT(settings), "user-stylesheet-uri", &uri, NULL); Err gopher.r-36.net 70 i- togglestat[p++] = (uri && uri[0]) ? 'M': 'm'; Err gopher.r-36.net 70 i+ togglestat[p++] = enablestyles ? 'M': 'm'; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i togglestat[p] = '\0'; Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 .