Introduction
Introduction Statistics Contact Development Disclaimer Help
surf-0.3-searchengines.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
surf-0.3-searchengines.diff (2107B)
---
1 diff -up surf-0.3/config.def.h surf-0.3-modified/config.def.h
2 --- surf-0.3/config.def.h 2009-10-30 08:41:02.000000000 -0400
3 +++ surf-0.3-modified/config.def.h 2009-12-04 10:44:48.000000000 …
4 @@ -45,3 +45,7 @@ static Item items[] = {
5 { "Copy URI", clipboard, { .b = FALSE } },
6 { "Download", download, { 0 } },
7 };
8 +
9 +static SearchEngine searchengines[] = {
10 + { NULL, NULL },
11 +};
12 diff -up surf-0.3/surf.c surf-0.3-modified/surf.c
13 --- surf-0.3/surf.c 2009-10-30 08:41:02.000000000 -0400
14 +++ surf-0.3-modified/surf.c 2009-12-04 10:46:18.000000000 -0500
15 @@ -54,6 +54,11 @@ typedef struct {
16 const Arg arg;
17 } Key;
18
19 +typedef struct {
20 + char *token;
21 + char *uri;
22 +} SearchEngine;
23 +
24 static Display *dpy;
25 static Atom uriprop, findprop;
26 static SoupCookieJar *cookies;
27 @@ -90,6 +95,7 @@ static gboolean keypress(GtkWidget *w, G
28 static void linkhover(WebKitWebView *v, const char* t, const char* l, C…
29 static void loadcommit(WebKitWebView *v, WebKitWebFrame *f, Client *c);
30 static void loadstart(WebKitWebView *v, WebKitWebFrame *f, Client *c);
31 +static gchar *parseuri(const gchar *uri);
32 static void loaduri(Client *c, const Arg *arg);
33 static void navigate(Client *c, const Arg *arg);
34 static Client *newclient(void);
35 @@ -431,13 +437,24 @@ loadstart(WebKitWebView *view, WebKitWeb
36 reloadcookies();
37 }
38
39 +gchar *
40 +parseuri(const gchar *uri) {
41 + guint i;
42 + for (i = 0; i < LENGTH(searchengines); i++) {
43 + if (searchengines[i].token == NULL || searchengines[i].…
44 + continue;
45 + if (g_str_has_prefix(uri, searchengines[i].token))
46 + return g_strdup_printf(searchengines[i].uri, ur…
47 + }
48 + return g_strrstr(uri, "://") ? g_strdup(uri) : g_strdup_printf(…
49 +}
50 +
51 void
52 loaduri(Client *c, const Arg *arg) {
53 char *u;
54 const char *uri = (char *)arg->v;
55
56 - u = g_strrstr(uri, "://") ? g_strdup(uri)
57 - : g_strdup_printf("http://%s", uri);
58 + u = parseuri(uri);
59 webkit_web_view_load_uri(c->view, u);
60 c->progress = 0;
61 c->title = copystr(&c->title, u);
You are viewing proxied material from suckless.org. 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.