commit 19be37ad9c84bc2ee6ac11059a8413be8e4b4dee
Author: FRIGN <dev_AT_frign.de>
Date: Mon Jun 1 19:47:20 2015 +0200
Update copyurl patches for latest git (st)
and host them locally again. Brandon didn't update it, and in case
he wants to, he should do it here, not intransparently on his server.
diff --git a/st.suckless.org/patches/copyurl.md b/st.suckless.org/patches/copyurl.md
index bf98370..1c17364 100644
--- a/st.suckless.org/patches/copyurl.md
+++ b/st.suckless.org/patches/copyurl.md
_AT_@ -10,9 +10,11 @@ the available URLs.
Download
--------
-* [st-git-copyurl.diff](
http://jangler.info/code/st-git-copyurl.diff)
+* [st-git-20141017-copyurl.diff](st-git-20141017-copyurl.diff)
+* [st-git-20150601-copyurl.diff](st-git-20150601-copyurl.diff)
Author
------
- * Brandon Mulcahy - brandon _AT_ jangler . info
+ * Brandon Mulcahy - brandon_AT_jangler.info
+ * FRIGN - dev_AT_frign.de (git port)
diff --git a/st.suckless.org/patches/st-git-20141017-copyurl.diff b/st.suckless.org/patches/st-git-20141017-copyurl.diff
new file mode 100644
index 0000000..bc0aebc
--- /dev/null
+++ b/st.suckless.org/patches/st-git-20141017-copyurl.diff
_AT_@ -0,0 +1,84 @@
+diff --git a/config.def.h b/config.def.h
+index 1667ed6..be25f2a 100644
+--- a/config.def.h
++++ b/config.def.h
+_AT_@ -120,6 +120,7 @@ static Shortcut shortcuts[] = {
+ { ShiftMask, XK_Insert, selpaste, {.i = 0} },
+ { MODKEY|ShiftMask, XK_Insert, clippaste, {.i = 0} },
+ { MODKEY, XK_Num_Lock, numlock, {.i = 0} },
++ { MODKEY, XK_l, copyurl, {.i = 0} },
+ };
+
+ /*
+diff --git a/st.c b/st.c
+index bcf96e9..38e923e 100644
+--- a/st.c
++++ b/st.c
+_AT_@ -323,6 +323,7 @@ static void xzoomreset(const Arg *);
+ static void printsel(const Arg *);
+ static void printscreen(const Arg *) ;
+ static void toggleprinter(const Arg *);
++static void copyurl(const Arg *);
+
+ /* Config.h for applying patches and the configuration. */
+ #include "config.h"
+_AT_@ -3989,3 +3990,59 @@ run:
+ return 0;
+ }
+
++/* select and copy the previous url on screen (do nothing if there's no url).
++ * known bug: doesn't handle urls that span multiple lines (wontfix)
++ * known bug: only finds first url on line (mightfix)
++ */
++void
++copyurl(const Arg *arg) {
++ /* () and [] can appear in urls, but excluding them here will reduce false
++ * positives when figuring out where a given url ends.
++ */
++ static char URLCHARS[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
++ "abcdefghijklmnopqrstuvwxyz"
++ "0123456789-._~:/?#_AT_!$&'*+,;=%";
++
++ int i, row, startrow;
++ char *linestr = calloc(sizeof(char), term.col+1); /* assume ascii */
++ char *c, *match = NULL;
++
++ row = (sel.ob.x >= 0 && sel.nb.y > 0) ? sel.nb.y-1 : term.bot;
++ row = startrow = LIMIT(row, term.top, term.bot);
++
++ /* find the start of the last url before selection */
++ do {
++ for (i = 0; i < term.col; ++i)
++ linestr[i] = term.line[row][i].c[0];
++ linestr[term.col] = '
Received on Mon Jun 01 2015 - 19:48:51 CEST