Make »Copy image address« work.
authorChristoph Lohmann <20h@r-36.net>
Sun, 28 Sep 2014 06:02:48 +0000 (08:02 +0200)
committerChristoph Lohmann <20h@r-36.net>
Sun, 28 Sep 2014 06:02:48 +0000 (08:02 +0200)
Thanks yui@blekksprut.net for the patch!

surf.c

diff --git a/surf.c b/surf.c
index bcb3a7b..3b3476a 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -968,6 +968,7 @@ menuactivate(GtkMenuItem *item, Client *c) {
         * context-menu-action-1        open link in window
         * context-menu-action-2        download linked file
         * context-menu-action-3        copy link location
+        * context-menu-action-7        copy image address
         * context-menu-action-13       reload
         * context-menu-action-10       back
         * context-menu-action-11       forward
@@ -975,8 +976,8 @@ menuactivate(GtkMenuItem *item, Client *c) {
         */
 
        GtkAction *a = NULL;
-       const char *name;
-       GtkClipboard *prisel;
+       const char *name, *uri;
+       GtkClipboard *prisel, *clpbrd;
 
        a = gtk_activatable_get_related_action(GTK_ACTIVATABLE(item));
        if(a == NULL)
@@ -986,7 +987,13 @@ menuactivate(GtkMenuItem *item, Client *c) {
        if(!g_strcmp0(name, "context-menu-action-3")) {
                prisel = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
                gtk_clipboard_set_text(prisel, c->linkhover, -1);
-       }
+       } else if(!g_strcmp0(name, "context-menu-action-7")) {
+               prisel = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
+               clpbrd = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
+               uri = gtk_clipboard_wait_for_text(clpbrd);
+               if(uri)
+                       gtk_clipboard_set_text(prisel, uri, -1);
+  }
 }
 
 static void