aboutsummaryrefslogtreecommitdiffhomepage
path: root/uzbl.c
diff options
context:
space:
mode:
authorGravatar Robert Manea <gotmor@gmail.com>2009-08-04 18:25:48 +0200
committerGravatar Robert Manea <gotmor@gmail.com>2009-08-04 18:25:48 +0200
commitd5e242352462d84aeadd80afeefc8203c3aed298 (patch)
treeb225cd05ce4d9ff861fbe90eb5d25b4d7cb66fda /uzbl.c
parentc3cf039b2602707acc12f3f29307e721613bcfcd (diff)
fixed cookie event message
Diffstat (limited to 'uzbl.c')
-rw-r--r--uzbl.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/uzbl.c b/uzbl.c
index 7a666ab..d6dc4e8 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -214,6 +214,7 @@ const char *event_table[LAST_EVENT] = {
"WEBINSPECTOR" ,
"COOKIE" ,
"NEW_WINDOW" ,
+ "SELECTION_CHANGED",
};
@@ -777,6 +778,17 @@ progress_change_cb (WebKitWebView* page, gint progress, gpointer data) {
}
void
+selection_changed_cb(WebKitWebView *webkitwebview, gpointer ud) {
+ (void)ud;
+ gchar *tmp;
+
+ webkit_web_view_copy_clipboard(webkitwebview);
+ tmp = gtk_clipboard_wait_for_text(gtk_clipboard_get (GDK_SELECTION_CLIPBOARD));
+ send_event(SELECTION_CHANGED, tmp);
+ g_free(tmp);
+}
+
+void
load_finish_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data) {
(void) page;
(void) data;
@@ -2458,6 +2470,7 @@ create_browser () {
g->web_view = WEBKIT_WEB_VIEW (webkit_web_view_new ());
g_signal_connect (G_OBJECT (g->web_view), "notify::title", G_CALLBACK (title_change_cb), NULL);
+ g_signal_connect (G_OBJECT (g->web_view), "selection-changed", G_CALLBACK (selection_changed_cb), g->web_view);
g_signal_connect (G_OBJECT (g->web_view), "load-progress-changed", G_CALLBACK (progress_change_cb), g->web_view);
g_signal_connect (G_OBJECT (g->web_view), "load-committed", G_CALLBACK (load_commit_cb), g->web_view);
g_signal_connect (G_OBJECT (g->web_view), "load-started", G_CALLBACK (load_start_cb), g->web_view);
@@ -2727,17 +2740,19 @@ settings_init () {
void handle_cookies (SoupSession *session, SoupMessage *msg, gpointer user_data){
(void) session;
(void) user_data;
- if (!uzbl.behave.cookie_handler)
- return;
+ //if (!uzbl.behave.cookie_handler)
+ // return;
soup_message_add_header_handler(msg, "got-headers", "Set-Cookie", G_CALLBACK(save_cookies), NULL);
GString *s = g_string_new ("");
SoupURI * soup_uri = soup_message_get_uri(msg);
g_string_printf(s, "GET '%s' '%s' '%s'", soup_uri->scheme, soup_uri->host, soup_uri->path);
- run_handler(uzbl.behave.cookie_handler, s->str);
+ if(uzbl.behave.cookie_handler)
+ run_handler(uzbl.behave.cookie_handler, s->str);
send_event(COOKIE, s->str);
- if(uzbl.comm.sync_stdout && strcmp (uzbl.comm.sync_stdout, "") != 0) {
+ if(uzbl.behave.cookie_handler &&
+ uzbl.comm.sync_stdout && strcmp (uzbl.comm.sync_stdout, "") != 0) {
char *p = strchr(uzbl.comm.sync_stdout, '\n' );
if ( p != NULL ) *p = '\0';
soup_message_headers_replace (msg->request_headers, "Cookie", (const char *) uzbl.comm.sync_stdout);