diff --git a/config.def.h b/config.def.h
|
|
index 93a3d49..05d81de 100644
|
|
--- a/config.def.h
|
|
+++ b/config.def.h
|
|
@@ -65,6 +65,18 @@ static Bool allowgeolocation = TRUE;
|
|
} \
|
|
}
|
|
|
|
+#define ONLOAD(u) { \
|
|
+ .v = (char *[]){"/bin/sh", "-c", \
|
|
+ "~/.surf/omnibar addhist \"$0\"", u, NULL \
|
|
+ } \
|
|
+}
|
|
+
|
|
+#define GOTO { \
|
|
+ .v = (char *[]){"/bin/sh", "-c", \
|
|
+ "~/.surf/omnibar goto \"$0\" \"$1\"", winid, "_SURF_GO", NULL \
|
|
+ } \
|
|
+}
|
|
+
|
|
/* styles */
|
|
/*
|
|
* The iteration will stop at the first match, beginning at the beginning of
|
|
@@ -112,7 +124,7 @@ static Key keys[] = {
|
|
{ MODKEY, GDK_o, source, { 0 } },
|
|
{ MODKEY|GDK_SHIFT_MASK,GDK_o, inspector, { 0 } },
|
|
|
|
- { MODKEY, GDK_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") },
|
|
+ { MODKEY, GDK_g, spawn, GOTO },
|
|
{ MODKEY, GDK_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
|
{ MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
|
|
|
diff --git a/surf.c b/surf.c
|
|
index f2170a4..c8fdab3 100644
|
|
--- a/surf.c
|
|
+++ b/surf.c
|
|
@@ -789,11 +789,11 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c)
|
|
WebKitWebDataSource *src;
|
|
WebKitNetworkRequest *request;
|
|
SoupMessage *msg;
|
|
- char *uri;
|
|
+ char *uri = geturi(c);
|
|
+ Arg arg;
|
|
|
|
switch (webkit_web_view_get_load_status (c->view)) {
|
|
case WEBKIT_LOAD_COMMITTED:
|
|
- uri = geturi(c);
|
|
if (strstr(uri, "https://") == uri) {
|
|
frame = webkit_web_view_get_main_frame(c->view);
|
|
src = webkit_web_frame_get_data_source(frame);
|
|
@@ -809,6 +809,8 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c)
|
|
setstyle(c, getstyle(uri));
|
|
break;
|
|
case WEBKIT_LOAD_FINISHED:
|
|
+ arg = (Arg)ONLOAD(uri);
|
|
+ spawn(NULL, &arg);
|
|
c->progress = 100;
|
|
updatetitle(c);
|
|
if (diskcache) {
|