tfix stylesheet interna. - surf - customized build of surf, the suckless webkit… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 90de5cdd15cf5cab330f1a0ea583be7a9682a030 | |
parent 344efec3fb932a9c5baae582fe70c72a0bc4a747 | |
Author: Markus Teich <[email protected]> | |
Date: Tue, 20 Jan 2015 16:13:31 +0100 | |
fix stylesheet interna. | |
* no more segfault when running `surf -m` | |
* allow to enable custom styles after `surf -m` with mod+shift+m | |
* use enablestyles instead of the webkit-setting, which clears things up a bit | |
Signed-off-by: Christoph Lohmann <[email protected]> | |
Diffstat: | |
M surf.c | 31 ++++++++++++-----------------… | |
1 file changed, 12 insertions(+), 19 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -573,6 +573,9 @@ static gchar * | |
getstyle(const char *uri) { | |
int i; | |
+ if(stylefile != NULL) | |
+ return g_strconcat("file://", stylefile, NULL); | |
+ | |
for(i = 0; i < LENGTH(styles); i++) { | |
if(styles[i].regex && !regexec(&(styles[i].re), uri, 0, | |
NULL, 0)) { | |
t@@ -704,7 +707,7 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec, C… | |
} | |
setatom(c, AtomUri, uri); | |
- if(stylefile == NULL && enablestyles) { | |
+ if(enablestyles) { | |
g_object_set(G_OBJECT(set), "user-stylesheet-uri", | |
getstyle(uri), NULL); | |
} | |
t@@ -770,7 +773,7 @@ newclient(void) { | |
GdkGeometry hints = { 1, 1 }; | |
GdkScreen *screen; | |
gdouble dpi; | |
- char *uri = NULL, *ua; | |
+ char *ua; | |
if(!(c = calloc(1, sizeof(Client)))) | |
die("Cannot malloc!\n"); | |
t@@ -900,9 +903,9 @@ newclient(void) { | |
if(!(ua = getenv("SURF_USERAGENT"))) | |
ua = useragent; | |
g_object_set(G_OBJECT(settings), "user-agent", ua, NULL); | |
- if (stylefile != NULL) { | |
- uri = g_strconcat("file://", stylefile, NULL); | |
- g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, N… | |
+ if (enablestyles) { | |
+ g_object_set(G_OBJECT(settings), "user-stylesheet-uri", | |
+ getstyle("about:blank"), NULL); | |
} | |
g_object_set(G_OBJECT(settings), "auto-load-images", loadimages, | |
NULL); | |
t@@ -958,9 +961,6 @@ newclient(void) { | |
fullscreen(c, NULL); | |
} | |
- if(stylefile != NULL) | |
- g_free(uri); | |
- | |
setatom(c, AtomFind, ""); | |
setatom(c, AtomUri, "about:blank"); | |
if(hidebackground) | |
t@@ -1192,7 +1192,7 @@ setup(void) { | |
scriptfile = buildpath(scriptfile); | |
cachefolder = buildpath(cachefolder); | |
styledir = buildpath(styledir); | |
- if(stylefile == NULL && enablestyles) { | |
+ if(stylefile == NULL) { | |
for(i = 0; i < LENGTH(styles); i++) { | |
if(regcomp(&(styles[i].re), styles[i].regex, | |
REG_EXTENDED)) { | |
t@@ -1386,13 +1386,8 @@ togglestyle(Client *c, const Arg *arg) { | |
WebKitWebSettings *settings = webkit_web_view_get_settings(c->view); | |
char *uri; | |
- g_object_get(G_OBJECT(settings), "user-stylesheet-uri", &uri, NULL); | |
- if(stylefile == NULL && enablestyles) { | |
- uri = (uri && uri[0])? g_strdup("") : getstyle(geturi(c)); | |
- } else { | |
- uri = uri[0]? g_strdup("") : g_strconcat("file://", | |
- stylefile, NULL); | |
- } | |
+ enablestyles = !enablestyles; | |
+ uri = enablestyles ? getstyle(geturi(c)) : g_strdup(""); | |
g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL); | |
updatetitle(c); | |
t@@ -1401,7 +1396,6 @@ togglestyle(Client *c, const Arg *arg) { | |
static void | |
gettogglestat(Client *c){ | |
gboolean value; | |
- char *uri; | |
int p = 0; | |
WebKitWebSettings *settings = webkit_web_view_get_settings(c->view); | |
t@@ -1424,8 +1418,7 @@ gettogglestat(Client *c){ | |
g_object_get(G_OBJECT(settings), "enable-plugins", &value, NULL); | |
togglestat[p++] = value? 'V': 'v'; | |
- g_object_get(G_OBJECT(settings), "user-stylesheet-uri", &uri, NULL); | |
- togglestat[p++] = (uri && uri[0]) ? 'M': 'm'; | |
+ togglestat[p++] = enablestyles ? 'M': 'm'; | |
togglestat[p] = '\0'; | |
} |