summaryrefslogtreecommitdiff
path: root/surf/patches/surf-middleclickplumb-20200815-d068a38.diff
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-02-09 14:39:05 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-02-09 14:39:05 +0900
commitd3a2e03e01d30020514e2891a559d7c96fda326a (patch)
tree05aa4022c5db8611bb6a3734c952eecff2fb73f5 /surf/patches/surf-middleclickplumb-20200815-d068a38.diff
parent46ad57573d7fd55ee2d9f0a3944accd4dd618adb (diff)
created surf/
Diffstat (limited to 'surf/patches/surf-middleclickplumb-20200815-d068a38.diff')
-rw-r--r--surf/patches/surf-middleclickplumb-20200815-d068a38.diff60
1 files changed, 60 insertions, 0 deletions
diff --git a/surf/patches/surf-middleclickplumb-20200815-d068a38.diff b/surf/patches/surf-middleclickplumb-20200815-d068a38.diff
new file mode 100644
index 0000000..0c447a7
--- /dev/null
+++ b/surf/patches/surf-middleclickplumb-20200815-d068a38.diff
@@ -0,0 +1,60 @@
+From f675414e350d9c4face743a1bfc4af8a2cd445cd Mon Sep 17 00:00:00 2001
+From: 0x1bi <ben@0x1bi.net>
+Date: Sat, 15 Aug 2020 12:05:11 -0400
+Subject: [PATCH] fix for middle click to plumb
+
+---
+ config.def.h | 2 +-
+ surf.c | 16 ++++++++++++++++
+ 2 files changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/config.def.h b/config.def.h
+index 34265f6..01d040a 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -186,7 +186,7 @@ static Key keys[] = {
+ /* target can be OnDoc, OnLink, OnImg, OnMedia, OnEdit, OnBar, OnSel, OnAny */
+ static Button buttons[] = {
+ /* target event mask button function argument stop event */
+- { OnLink, 0, 2, clicknewwindow, { .i = 0 }, 1 },
++ { OnAny, 0, 2, clickplumb, { .i = 0 }, 1 },
+ { OnLink, MODKEY, 2, clicknewwindow, { .i = 1 }, 1 },
+ { OnLink, MODKEY, 1, clicknewwindow, { .i = 1 }, 1 },
+ { OnAny, 0, 8, clicknavigate, { .i = -1 }, 1 },
+diff --git a/surf.c b/surf.c
+index 2b54e3c..46e6934 100644
+--- a/surf.c
++++ b/surf.c
+@@ -236,6 +236,7 @@ static void find(Client *c, const Arg *a);
+ static void clicknavigate(Client *c, const Arg *a, WebKitHitTestResult *h);
+ static void clicknewwindow(Client *c, const Arg *a, WebKitHitTestResult *h);
+ static void clickexternplayer(Client *c, const Arg *a, WebKitHitTestResult *h);
++static void clickplumb(Client *c, const Arg *a, WebKitHitTestResult *h);
+
+ static char winid[64];
+ static char togglestats[12];
+@@ -1971,6 +1972,21 @@ clickexternplayer(Client *c, const Arg *a, WebKitHitTestResult *h)
+ spawn(c, &arg);
+ }
+
++void
++clickplumb(Client *c, const Arg *a, WebKitHitTestResult *h)
++{
++ Arg arg;
++
++ char *s;
++ WebKitHitTestResultContext e = webkit_hit_test_result_get_context(h);
++ if (OnSel & e)
++ s = gtk_clipboard_wait_for_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY));
++ else if ((OnLink|OnMedia|OnImg) & e)
++ s = webkit_hit_test_result_get_link_uri(h);
++ arg = (Arg)PLUMB(s);
++ spawn(c, &arg);
++}
++
+ int
+ main(int argc, char *argv[])
+ {
+--
+2.26.2
+