Introduction
Introduction Statistics Contact Development Disclaimer Help
tApplying Nibbles download patch. Thanks! - surf - customized build of surf, th…
git clone git://src.adamsgaard.dk/surf
Log
Files
Refs
README
LICENSE
---
commit 7330d0e26190e40fd857546b4cbc46855c75aeaa
parent 7d3d996a3dd355a6382c9976f9734e593daad26c
Author: Enno Boland (tox) <[email protected]>
Date: Wed, 26 May 2010 15:33:01 +0200
Applying Nibbles download patch. Thanks!
Diffstat:
M config.def.h | 6 ++++++
M surf.c | 14 ++++++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/config.def.h b/config.def.h
t@@ -12,9 +12,15 @@ static time_t sessiontime = 0;
"prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
p, q, winid, NULL } }
+#define DOWNLOAD(p) { \
+ .v = (char *[]){ "/bin/sh", "-c", \
+ "prop=\"`xprop -id $1 $0 | cut -d '\"' -f 2`\";" \
+ "xterm -e \"wget --load-cookies ~/.surf/cookies.txt $prop;\"", \
+ p, winid, NULL } }
#define MODKEY GDK_CONTROL_MASK
static Key keys[] = {
/* modifier keyval function arg Foc…
+ { MODKEY, GDK_s, spawn, DOWNLOAD("_SURF_HILIGHT") …
{ MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } },
{ MODKEY, GDK_r, reload, { .b = FALSE } },
{ MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 } },
diff --git a/surf.c b/surf.c
t@@ -81,6 +81,7 @@ static const char *getatom(Client *c, int a);
static const char *getcookies(SoupURI *uri);
static char *geturi(Client *c);
void gotheaders(SoupMessage *msg, gpointer user_data);
+static gboolean initdownload(WebKitWebView *v, WebKitDownload *o, Client *c);
static gboolean keypress(GtkWidget *w, GdkEventKey *ev, Client *c);
static void linkhover(WebKitWebView *v, const char* t, const char* l, Client *…
static void loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c…
t@@ -329,6 +330,16 @@ gotheaders(SoupMessage *msg, gpointer v) {
}
gboolean
+initdownload(WebKitWebView *view, WebKitDownload *o, Client *c) {
+ Arg arg;
+
+ updatewinid(c);
+ cmd = (Arg)DOWNLOAD("_SURF_HILIGHT");
+ spawn(c, &cmg);
+ return FALSE;
+}
+
+gboolean
keypress(GtkWidget* w, GdkEventKey *ev, Client *c) {
guint i;
gboolean processed = FALSE;
t@@ -454,6 +465,7 @@ newclient(void) {
g_signal_connect(G_OBJECT(c->view), "window-object-cleared", G_CALLBAC…
g_signal_connect(G_OBJECT(c->view), "notify::load-status", G_CALLBACK(…
g_signal_connect(G_OBJECT(c->view), "notify::progress", G_CALLBACK(pro…
+ g_signal_connect(G_OBJECT(c->view), "download-requested", G_CALLBACK(i…
/* Indicator */
c->indicator = gtk_drawing_area_new();
t@@ -495,6 +507,7 @@ newclient(void) {
setatom(c, AtomFind, "");
setatom(c, AtomUri, "about:blank");
+ setatom(c, AtomHiLight, "about:blank");
if(NOBACKGROUND)
webkit_web_view_set_transparent(c->view, TRUE);
t@@ -750,6 +763,7 @@ update(Client *c) {
t = g_strdup(c->linkhover);
else
t = g_strdup(c->title);
+ setatom(c, AtomHiLight, c->linkhover ? c->linkhover : geturi(c));
drawindicator(c);
gtk_window_set_title(GTK_WINDOW(c->win), t);
g_free(t);
You are viewing proxied material from mx1.adamsgaard.dk. 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.