sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit cebcf8ef6a7db8b5b35094fcab722f6d1c27c5ee
parent 46c268019776b5fec34ad6599d39e45486a2f7a9
Author: = <harry.gindi@live.com>
Date:   Fri, 23 Jun 2017 13:06:08 -0400

Removed my old obsolete OSC52 patch

Diffstat:
Dst.suckless.org/patches/osc52.md | 24------------------------
Dst.suckless.org/patches/st-osc52-20170125-c63a87c.diff | 96-------------------------------------------------------------------------------
2 files changed, 0 insertions(+), 120 deletions(-)

diff --git a/st.suckless.org/patches/osc52.md b/st.suckless.org/patches/osc52.md @@ -1,24 +0,0 @@ -OSC-52 tmux clipboard -===== - -Description ------------ - -This patch adds OSC 52 control sequence support to st to support the syncing of -tmux's clipboard to the X PRIMARY selection.. - -Notes ------ - -For remote tmux instances, you must update the terminfo with the included -terminfo here. - -Download --------- - - * [st-osc52-20170125-c63a87c.diff](st-osc52-20170125-c63a87c.diff) - -Authors -------- - - * fpqc - <harry.gindi@live.com> diff --git a/st.suckless.org/patches/st-osc52-20170125-c63a87c.diff b/st.suckless.org/patches/st-osc52-20170125-c63a87c.diff @@ -1,96 +0,0 @@ -diff --git a/base64dec.c b/base64dec.c -new file mode 100644 -index 0000000..3f75aab ---- /dev/null -+++ b/base64dec.c -@@ -0,0 +1,42 @@ -+/*taken from libulz with permission*/ -+ -+static const char base64_tbl[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -+ -+inline int chrpos(int c) { -+ int i = 0; -+ for(;i<64;i++) if(base64_tbl[i] == c) return i; -+ return -1; -+} -+static size_t base64dec(void* dst, const char* src, size_t dst_len) { -+ const char* s = src; -+ unsigned char *d = dst; -+ size_t l = dst_len, o = 0; -+ int n = 0, cnt = 0, skip = 0; -+ if(l) for(;;) { -+ int p; -+ if(*s == '=') { -+ skip++; -+ if(skip > 2) return 0; -+ p = 0; -+ } else if (!*s) { -+ if(cnt % 4 != 0 || !l) return 0; -+ *d++ = 0; -+ return o; -+ } else if(skip) { -+ return 0; -+ } else if((p = chrpos(*s)) == -1) return 0; -+ n = (n << 6) | p; -+ cnt++; -+ if(cnt % 4 == 0) { -+ if(l < 3) return 0; -+ *d++ = n >> 16; -+ *d++ = n >> 8 & 0xff; -+ *d++ = n & 0xff; -+ l -= 3; -+ o += 3-skip; -+ n = 0; -+ } -+ s++; -+ } -+ return 0; -+} -diff --git a/st.c b/st.c -index fbcd9e0..54cceeb 100644 ---- a/st.c -+++ b/st.c -@@ -32,7 +32,7 @@ - #include <wchar.h> - - #include "arg.h" -- -+#include "base64dec.c" - char *argv0; - - #define Glyph Glyph_ -@@ -2533,11 +2533,21 @@ strhandle(void) - if (narg > 1) - xsettitle(strescseq.args[1]); - return; -- case 4: /* color set */ -+ case 52:/*set tmux clipboard*/ -+ if (narg > 2){ -+ char *src=strescseq.args[2]; -+ size_t l = (strlen(src)/4)*3; -+ char *buf=xmalloc(l+1); -+ base64dec(buf, src, l); -+ xsetsel(buf, CurrentTime); -+ } -+ return; -+ case 4: /* color set */ - if (narg < 3) - break; - p = strescseq.args[2]; - /* FALLTHROUGH */ -+ - case 104: /* color reset, here p = NULL */ - j = (narg > 1) ? atoi(strescseq.args[1]) : -1; - if (xsetcolorname(j, p)) { -diff --git a/st.info b/st.info -index 13cc8eb..0b928af 100644 ---- a/st.info -+++ b/st.info -@@ -189,6 +189,7 @@ st| simpleterm, - Se, - Ss, - Tc, -+ Ms=\E]52;%p1%s;%p2%s\007, - - st-256color| simpleterm with 256 colors, - use=st,