Introduction
Introduction Statistics Contact Development Disclaimer Help
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';
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.