summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.md8
-rw-r--r--config.def.h26
-rw-r--r--surf.c48
3 files changed, 51 insertions, 31 deletions
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..99312e1
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,8 @@
+# TODO
+
+* suckless adblocking
+* integrate the WebKitWebInspector API
+* make scrollbars a switch and allow them to be disabled
+* implement fullscreen mode (F11)
+* replace webkit with something sane
+
diff --git a/config.def.h b/config.def.h
index b71f9c1..362e1d2 100644
--- a/config.def.h
+++ b/config.def.h
@@ -20,18 +20,23 @@ static int indicator_thickness = 2;
static Bool spatialbrowsing = TRUE;
static Bool hidebackground = FALSE;
-#define SETPROP(p, q) { .v = (char *[]){ "/bin/sh", "-c", \
- "prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
- "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
- p, q, winid, NULL } }
+#define SETPROP(p, q) { \
+ .v = (char *[]){ "/bin/sh", "-c", \
+ "prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
+ "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
+ p, q, winid, NULL \
+ } \
+}
/* DOWNLOAD(URI, referer) */
#define DOWNLOAD(d, r) { \
.v = (char *[]){ "/bin/sh", "-c", \
- "xterm -e \"wget '$0' \
---load-cookies ~/.surf/cookies.txt \
---user-agent '$1' \
---referer '$2' ; sleep 5\"", d, useragent, NULL } }
+ "xterm -e \"wget '$0'" \
+ " --load-cookies ~/.surf/cookies.txt" \
+ " --user-agent '$1'" \
+ " --referer '$2' ; sleep 5\"", d, useragent, r, NULL \
+ } \
+}
#define MODKEY GDK_CONTROL_MASK
@@ -61,9 +66,10 @@ static Key keys[] = {
{ MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
{ MODKEY, GDK_n, find, { .b = TRUE } },
{ MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } },
- { MODKEY, GDK_v, toggle, { .v = "enable-plugins" } },
+
+ { MODKEY|GDK_SHIFT_MASK,GDK_c, toggle, { .v = "enable-caret-browsing" } },
{ MODKEY|GDK_SHIFT_MASK,GDK_i, toggle, { .v = "auto-load-images" } },
- { MODKEY, GDK_c, toggle, { .v = "enable-caret-browsing" } },
{ MODKEY|GDK_SHIFT_MASK,GDK_s, toggle, { .v = "enable-scripts" } },
+ { MODKEY|GDK_SHIFT_MASK,GDK_v, toggle, { .v = "enable-plugins" } },
};
diff --git a/surf.c b/surf.c
index 3e2e2b0..a090dc8 100644
--- a/surf.c
+++ b/surf.c
@@ -78,7 +78,8 @@ static Client *clients = NULL;
static GdkNativeWindow embed = 0;
static gboolean showxid = FALSE;
static char winid[64];
-static gboolean loadimage = 1, plugin = 1, script = 1, using_proxy = 0;
+static gboolean loadimages = 1, enableplugins = 1, enablescripts = 1,
+ usingproxy = 0;
static char togglestat[5];
static char *buildpath(const char *path);
@@ -359,13 +360,13 @@ drawindicator(Client *c) {
width = c->progress * w->allocation.width / 100;
gc = gdk_gc_new(w->window);
if(strstr(uri, "https://") == uri) {
- if(using_proxy) {
+ if(usingproxy) {
colorname = c->sslfailed? progress_proxy_untrust : progress_proxy_trust;
} else {
colorname = c->sslfailed? progress_untrust : progress_trust;
}
} else {
- if(using_proxy) {
+ if(usingproxy) {
colorname = progress_proxy;
} else {
colorname = progress;
@@ -612,10 +613,11 @@ newclient(void) {
g_object_set(G_OBJECT(settings), "user-agent", ua, NULL);
uri = g_strconcat("file://", stylefile, NULL);
g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL);
- g_object_set(G_OBJECT(settings), "auto-load-images", loadimage, NULL);
- g_object_set(G_OBJECT(settings), "enable-plugins", plugin, NULL);
- g_object_set(G_OBJECT(settings), "enable-scripts", script, NULL);
- g_object_set(G_OBJECT(settings), "enable-spatial-navigation", spatialbrowsing, NULL);
+ g_object_set(G_OBJECT(settings), "auto-load-images", loadimages, NULL);
+ g_object_set(G_OBJECT(settings), "enable-plugins", enableplugins, NULL);
+ g_object_set(G_OBJECT(settings), "enable-scripts", enablescripts, NULL);
+ g_object_set(G_OBJECT(settings), "enable-spatial-navigation",
+ spatialbrowsing, NULL);
g_free(uri);
@@ -651,11 +653,11 @@ newwindow(Client *c, const Arg *arg, gboolean noembed) {
snprintf(tmp, LENGTH(tmp), "%u\n", (int)embed);
cmd[i++] = tmp;
}
- if(!script)
+ if(!enablescripts)
cmd[i++] = "-s";
- if(!plugin)
+ if(!enableplugins)
cmd[i++] = "-p";
- if(!loadimage)
+ if(!loadimages)
cmd[i++] = "-i";
if(showxid)
cmd[i++] = "-x";
@@ -843,7 +845,7 @@ setup(void) {
g_object_set(G_OBJECT(s), "proxy-uri", puri, NULL);
soup_uri_free(puri);
g_free(new_proxy);
- using_proxy = 1;
+ usingproxy = 1;
}
}
@@ -914,16 +916,20 @@ gettogglestat(Client *c){
gboolean value;
WebKitWebSettings *settings = webkit_web_view_get_settings(c->view);
- togglestat[4] = '\0';
+ g_object_get(G_OBJECT(settings), "enable-caret-browsing",
+ &value, NULL);
+ togglestat[0] = value? 'C': 'c';
+
g_object_get(G_OBJECT(settings), "auto-load-images", &value, NULL);
- togglestat[0] = value?'I':'i';
+ togglestat[1] = value? 'I': 'i';
+
g_object_get(G_OBJECT(settings), "enable-scripts", &value, NULL);
- togglestat[1] = value?'S':'s';
+ togglestat[2] = value? 'S': 's';
+
g_object_get(G_OBJECT(settings), "enable-plugins", &value, NULL);
- togglestat[2] = value?'V':'v';
- g_object_get(G_OBJECT(settings), "enable-caret-browsing",
- &value, NULL);
- togglestat[3] = value?'C':'c';
+ togglestat[3] = value? 'V': 'v';
+
+ togglestat[4] = '\0';
}
@@ -995,16 +1001,16 @@ main(int argc, char *argv[]) {
embed = strtol(EARGF(usage()), NULL, 0);
break;
case 'i':
- loadimage = 0;
+ loadimages = 0;
break;
case 'p':
- plugin = 0;
+ enableplugins = 0;
break;
case 'r':
scriptfile = EARGF(usage());
break;
case 's':
- script = 0;
+ enablescripts = 0;
break;
case 't':
stylefile = EARGF(usage());