| surf-0.7-omnibar.diff - sites - public wiki contents of suckless.org | |
| git clone git://git.suckless.org/sites | |
| Log | |
| Files | |
| Refs | |
| --- | |
| surf-0.7-omnibar.diff (1847B) | |
| --- | |
| 1 diff --git a/config.def.h b/config.def.h | |
| 2 index 93a3d49..05d81de 100644 | |
| 3 --- a/config.def.h | |
| 4 +++ b/config.def.h | |
| 5 @@ -65,6 +65,18 @@ static Bool allowgeolocation = TRUE; | |
| 6 } \ | |
| 7 } | |
| 8 | |
| 9 +#define ONLOAD(u) { \ | |
| 10 + .v = (char *[]){"/bin/sh", "-c", \ | |
| 11 + "~/.surf/omnibar addhist \"$0\"", u, NULL \ | |
| 12 + } \ | |
| 13 +} | |
| 14 + | |
| 15 +#define GOTO { \ | |
| 16 + .v = (char *[]){"/bin/sh", "-c", \ | |
| 17 + "~/.surf/omnibar goto \"$0\" \"$1\"", winid, "_SURF_GO"… | |
| 18 + } \ | |
| 19 +} | |
| 20 + | |
| 21 /* styles */ | |
| 22 /* | |
| 23 * The iteration will stop at the first match, beginning at the beginni… | |
| 24 @@ -112,7 +124,7 @@ static Key keys[] = { | |
| 25 { MODKEY, GDK_o, source, { 0 } }, | |
| 26 { MODKEY|GDK_SHIFT_MASK,GDK_o, inspector, { 0 } }, | |
| 27 | |
| 28 - { MODKEY, GDK_g, spawn, SETPROP("_SURF_… | |
| 29 + { MODKEY, GDK_g, spawn, GOTO }, | |
| 30 { MODKEY, GDK_f, spawn, SETPROP("_SURF_… | |
| 31 { MODKEY, GDK_slash, spawn, SETPROP("_SURF_… | |
| 32 | |
| 33 diff --git a/surf.c b/surf.c | |
| 34 index f2170a4..c8fdab3 100644 | |
| 35 --- a/surf.c | |
| 36 +++ b/surf.c | |
| 37 @@ -789,11 +789,11 @@ loadstatuschange(WebKitWebView *view, GParamSpec *… | |
| 38 WebKitWebDataSource *src; | |
| 39 WebKitNetworkRequest *request; | |
| 40 SoupMessage *msg; | |
| 41 - char *uri; | |
| 42 + char *uri = geturi(c); | |
| 43 + Arg arg; | |
| 44 | |
| 45 switch (webkit_web_view_get_load_status (c->view)) { | |
| 46 case WEBKIT_LOAD_COMMITTED: | |
| 47 - uri = geturi(c); | |
| 48 if (strstr(uri, "https://") == uri) { | |
| 49 frame = webkit_web_view_get_main_frame(c->view); | |
| 50 src = webkit_web_frame_get_data_source(frame); | |
| 51 @@ -809,6 +809,8 @@ loadstatuschange(WebKitWebView *view, GParamSpec *ps… | |
| 52 setstyle(c, getstyle(uri)); | |
| 53 break; | |
| 54 case WEBKIT_LOAD_FINISHED: | |
| 55 + arg = (Arg)ONLOAD(uri); | |
| 56 + spawn(NULL, &arg); | |
| 57 c->progress = 100; | |
| 58 updatetitle(c); | |
| 59 if (diskcache) { |