sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit de60be5a43e29414a0afbd282f51671122cec073
parent 7d03820aa0b1e00bf5e00140ef099ff495197ceb
Author: Juan Aguilar <aritemeeul@gmail.com>
Date:   Fri,  8 Jan 2016 18:57:23 +0100

Changes to be committed:
	modified:   surf.suckless.org/patches/searchengines.md
	new file:   surf.suckless.org/patches/surf-0.7-webkit2-searchengines.diff

Diffstat:
Msurf.suckless.org/patches/searchengines.md | 2++
Asurf.suckless.org/patches/surf-0.7-webkit2-searchengines.diff | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/surf.suckless.org/patches/searchengines.md b/surf.suckless.org/patches/searchengines.md @@ -32,6 +32,7 @@ Download * [surf-0.5-searchengines.diff](surf-0.5-searchengines.diff) (1611) (20101028) * [surf-0.6-searchengines.diff](surf-0.6-searchengines.diff) (20130514) * [surf-0.7-searchengines.diff](surf-0.7-searchengines.diff) (20151219) +* [surf-0.7-webkit2-searchengines.diff](surf-0.7-webkit2-searchengines.diff) (20160108) Author ------ @@ -40,3 +41,4 @@ Author * Samuel Baldwin (shardz) <[recursive.forest@gmail.com](mailto:recursive.forest@gmail.com)> * Alex Puterbaugh (zombine) <[puterbaugh0@gmail.com](mailto:puterbaugh0@gmail.com)> * Ivan Tham (pickfire) <[pickfire@riseup.net](mailto:pickfire@riseup.net)> +* Juan Aguilar Santillana (botika) <[aritmeeul@gmail.com](mailto:aritmeeul@gmail.com)> diff --git a/surf.suckless.org/patches/surf-0.7-webkit2-searchengines.diff b/surf.suckless.org/patches/surf-0.7-webkit2-searchengines.diff @@ -0,0 +1,63 @@ +diff --git a/surf.c b/surf.c +index 9b4dbb9..bf54d84 100644 +--- a/surf.c ++++ b/surf.c +@@ -92,6 +92,12 @@ typedef struct { + } Button; + + typedef struct { ++ char *token; ++ char *uri; ++} SearchEngine; ++ ++ ++typedef struct { + char *regex; + char *style; + regex_t re; +@@ -124,6 +130,7 @@ static void newwindow(Client *c, const Arg *a, int noembed); + static void spawn(Client *c, const Arg *a); + static void destroyclient(Client *c); + static void cleanup(void); ++static gchar *parseuri(const gchar *uri); + + /* GTK/WebKit */ + static WebKitWebView *newview(Client *c, WebKitWebView *rv); +@@ -350,13 +357,13 @@ loaduri(Client *c, const Arg *a) + if (g_strcmp0(uri, "") == 0) + return; + +- if (g_strrstr(uri, "://") || g_str_has_prefix(uri, "about:")) { ++ if (g_str_has_prefix(uri, "about:")) { + url = g_strdup(uri); + } else if (!stat(uri, &st) && (path = realpath(uri, NULL))) { + url = g_strdup_printf("file://%s", path); + free(path); + } else { +- url = g_strdup_printf("http://%s", uri); ++ url = parseuri(uri); + } + + setatom(c, AtomUri, url); +@@ -1205,6 +1212,21 @@ destroywin(GtkWidget* w, Client *c) + gtk_main_quit(); + } + ++static gchar * ++parseuri(const gchar *uri) { ++ guint i; ++ ++ for (i = 0; i < LENGTH(searchengines); i++) { ++ if (searchengines[i].token == NULL || searchengines[i].uri == NULL || \ ++ *(uri + strlen(searchengines[i].token)) != ' ') ++ continue; ++ if (g_str_has_prefix(uri, searchengines[i].token)) ++ return g_strdup_printf(searchengines[i].uri, uri + strlen(searchengines[i].token) + 1); ++ } ++ ++ return g_strrstr(uri, "://") ? g_strdup(uri) : g_strdup_printf("http://%s", uri); ++} ++ + void + pasteuri(GtkClipboard *clipboard, const char *text, gpointer d) + {