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) { |