commit 4627ea15e615ed576187acc292a1f4bc48313b1b
Author: FRIGN <[email protected]>
Date:   Fri Jun 17 10:18:08 2016 +0200

    Add shorthash to st git-patches
    
    As discussed on IRC and the ml.

diff --git a/st.suckless.org/patches/argbbg.md 
b/st.suckless.org/patches/argbbg.md
index ed78a9c..158423c 100644
--- a/st.suckless.org/patches/argbbg.md
+++ b/st.suckless.org/patches/argbbg.md
@@ -17,7 +17,7 @@ make this patch effective.
  * [st-argbbg-0.4.1.diff](st-argbbg-0.4.1.diff)
  * [st-argbbg-0.5.diff](st-argbbg-0.5.diff)
  * [st-argbbg-0.6.diff](st-argbbg-0.6.diff)
- * [st-argbbg-git-20160616.diff](st-argbbg-git-20160616.diff)
+ * [st-argbbg-git-20160617-528241aa.diff](st-argbbg-git-20160617-528241aa.diff)
 
 ## Authors ##
  * Eon S. Jeon - [email protected]
diff --git a/st.suckless.org/patches/clipboard.md 
b/st.suckless.org/patches/clipboard.md
index 7dc44e2..2dff308 100644
--- a/st.suckless.org/patches/clipboard.md
+++ b/st.suckless.org/patches/clipboard.md
@@ -13,7 +13,7 @@ CLIPBOARD.
 ## Download
 
 * [st-clipboard-0.6.diff](st-clipboard-0.6.diff)
-* [st-clipboard-git-20160616.diff](st-clipboard-git-20160616.diff)
+* 
[st-clipboard-git-20160617-528241aa.diff](st-clipboard-git-20160617-528241aa.diff)
 
 ## Authors
 
diff --git a/st.suckless.org/patches/copyurl.md 
b/st.suckless.org/patches/copyurl.md
index b232822..22da3a8 100644
--- a/st.suckless.org/patches/copyurl.md
+++ b/st.suckless.org/patches/copyurl.md
@@ -17,7 +17,7 @@ Download
 --------
 
  * [st-copyurl-0.6.diff](st-copyurl-0.6.diff)
- * [st-copyurl-git-20160616.diff](st-copyurl-git-20160616.diff)
+ * 
[st-copyurl-git-20160617-528241aa.diff](st-copyurl-git-20160617-528241aa.diff)
 
 Authors
 -------
diff --git a/st.suckless.org/patches/delkey.md 
b/st.suckless.org/patches/delkey.md
index 04f2641..9c0f4ba 100644
--- a/st.suckless.org/patches/delkey.md
+++ b/st.suckless.org/patches/delkey.md
@@ -10,7 +10,7 @@ Download
 --------
 
  * [st-delkey-0.6.diff](st-delkey-0.6.diff)
- * [st-delkey-git-20160616.diff](st-delkey-git-20160616.diff)
+ * [st-delkey-git-20160617-528241aa.diff](st-delkey-git-20160617-528241aa.diff)
 
 Authors
 -------
diff --git a/st.suckless.org/patches/externalpipe.md 
b/st.suckless.org/patches/externalpipe.md
index 6c15ef5..3bc0dec 100644
--- a/st.suckless.org/patches/externalpipe.md
+++ b/st.suckless.org/patches/externalpipe.md
@@ -27,7 +27,7 @@ Download
 * [st-externalpipe-0.4.1.diff](st-externalpipe-0.4.1.diff)
 * [st-externalpipe-0.5.diff](st-externalpipe-0.5.diff)
 * [st-externalpipe-0.6.diff](st-externalpipe-0.6.diff)
-* [st-externalpipe-git-20160616.diff](st-externalpipe-git-20160616.diff)
+* 
[st-externalpipe-git-20160617-528241aa.diff](st-externalpipe-git-20160617-528241aa.diff)
 
 Authors
 -------
diff --git a/st.suckless.org/patches/hidecursor.md 
b/st.suckless.org/patches/hidecursor.md
index 49314f4..3059031 100644
--- a/st.suckless.org/patches/hidecursor.md
+++ b/st.suckless.org/patches/hidecursor.md
@@ -12,7 +12,7 @@ Download
 
 * [st-hidecursor-0.5.diff](st-hidecursor-0.5.diff)
 * [st-hidecursor-0.6.diff](st-hidecursor-0.6.diff)
-* [st-hidecursor-git-20160616.diff](st-hidecursor-git-20160616.diff)
+* 
[st-hidecursor-git-20160617-528241aa.diff](st-hidecursor-git-20160617-528241aa.diff)
 
 Authors
 -------
diff --git a/st.suckless.org/patches/openbsd.md 
b/st.suckless.org/patches/openbsd.md
index 8e4f5a8..2334f38 100644
--- a/st.suckless.org/patches/openbsd.md
+++ b/st.suckless.org/patches/openbsd.md
@@ -27,7 +27,7 @@ More information on this issue can be found in this
 Download
 --------
 
-* [st-openbsd-git-20160616.diff](st-openbsd-git-20160616.diff)
+* 
[st-openbsd-git-20160617-528241aa.diff](st-openbsd-git-20160617-528241aa.diff)
 
 
 Authors
diff --git a/st.suckless.org/patches/scrollback.md 
b/st.suckless.org/patches/scrollback.md
index 4c3f176..e562b5e 100644
--- a/st.suckless.org/patches/scrollback.md
+++ b/st.suckless.org/patches/scrollback.md
@@ -9,12 +9,12 @@ Scroll back through terminal output using Shift+{PageUp, 
PageDown}.
 Download
 --------
 
-* [st-scrollback-git-20160616.diff](st-scrollback-git-20160616.diff)
+* 
[st-scrollback-git-20160617-528241aa.diff](st-scrollback-git-20160617-528241aa.diff)
 
 Apply the following patch on top of the previous to allow scrolling
 using `Shift+MouseWheel`.
 
-* 
[st-scrollback-mouse-git-20160616.diff](st-scrollback-mouse-git-20160616.diff)
+* 
[st-scrollback-mouse-git-20160617-528241aa.diff](st-scrollback-mouse-git-20160617-528241aa.diff)
 
 Apply the following patch on top of the previous two to allow scrollback using
 mouse wheel only when not in `MODE_ALTSCREEN`. eg. The content is being
@@ -22,7 +22,7 @@ scrolled instead of the scrollback buffer in `less`. 
Consequently the Shift
 modifier for scrolling is not needed anymore.  **Note: It might break other
 mkeys excluding scrolling functions.**
 
-* 
[st-scrollback-mouse-altscreen-git-20160616.diff](st-scrollback-mouse-altscreen-git-20160616.diff)
+* 
[st-scrollback-mouse-altscreen-git-20160617-528241aa.diff](st-scrollback-mouse-altscreen-git-20160617-528241aa.diff)
 
 Authors
 -------
diff --git a/st.suckless.org/patches/solarized.md 
b/st.suckless.org/patches/solarized.md
index 692ed78..fb4b3a7 100644
--- a/st.suckless.org/patches/solarized.md
+++ b/st.suckless.org/patches/solarized.md
@@ -34,7 +34,7 @@ to disable lighting up bold colors.
 
  * [st-no_bold_colors-0.5.diff](st-no_bold_colors-0.5.diff)
  * [st-no_bold_colors-0.6.diff](st-no_bold_colors-0.6.diff)
- * [st-no_bold_colors-git-20160616.diff](st-no_bold_colors-git-20160616.diff)
+ * 
[st-no_bold_colors-git-20160617-528241aa.diff](st-no_bold_colors-git-20160617-528241aa.diff)
 
 Choose one of the following patches to get either the light
 or the dark color scheme:
@@ -43,13 +43,13 @@ or the dark color scheme:
 
  * [st-solarized-light-0.5.diff](st-solarized-light-0.5.diff)
  * [st-solarized-light-0.6.diff](st-solarized-light-0.6.diff)
- * [st-solarized-light-git-20160616.diff](st-solarized-light-git-20160616.diff)
+ * 
[st-solarized-light-git-20160617-528241aa.diff](st-solarized-light-git-20160617-528241aa.diff)
 
 *Dark*:
 
  * [st-solarized-dark-0.5.diff](st-solarized-dark-0.5.diff)
  * [st-solarized-dark-0.6.diff](st-solarized-dark-0.6.diff)
- * [st-solarized-dark-git-20160616.diff](st-solarized-dark-git-20160616.diff)
+ * 
[st-solarized-dark-git-20160617-528241aa.diff](st-solarized-dark-git-20160617-528241aa.diff)
 
 Authors
 -------
diff --git a/st.suckless.org/patches/spoiler.md 
b/st.suckless.org/patches/spoiler.md
index 6bd5de7..efd9576 100644
--- a/st.suckless.org/patches/spoiler.md
+++ b/st.suckless.org/patches/spoiler.md
@@ -20,7 +20,7 @@ Download
 --------
 
  * [st-spoiler-0.6.diff](st-spoiler-0.6.diff)
- * [st-spoiler-git-20160616.diff](st-spoiler-git-20160616.diff)
+ * 
[st-spoiler-git-20160617-528241aa.diff](st-spoiler-git-20160617-528241aa.diff)
 
 Author
 ------
diff --git a/st.suckless.org/patches/st-argbbg-git-20160616.diff 
b/st.suckless.org/patches/st-argbbg-git-20160616.diff
deleted file mode 100644
index 73d8b03..0000000
--- a/st.suckless.org/patches/st-argbbg-git-20160616.diff
+++ /dev/null
@@ -1,188 +0,0 @@
-diff --git a/config.def.h b/config.def.h
-index 9e61010..2ab4f57 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -67,6 +67,9 @@ static char termname[] = "st-256color";
- 
- static unsigned int tabspaces = 8;
- 
-+/* bg opacity */
-+static const int alpha = 0xdd;
-+
- /* Terminal colors (16 first used in escape sequence) */
- static const char *colorname[] = {
-       /* 8 normal colors */
-@@ -94,6 +97,7 @@ static const char *colorname[] = {
-       /* more colors can be added after 255 to use with DefaultXX */
-       "#cccccc",
-       "#555555",
-+      "black",
- };
- 
- 
-@@ -102,7 +106,7 @@ static const char *colorname[] = {
-  * foreground, background, cursor, reverse cursor
-  */
- static unsigned int defaultfg = 7;
--static unsigned int defaultbg = 0;
-+static unsigned int defaultbg = 257;
- static unsigned int defaultcs = 256;
- static unsigned int defaultrcs = 257;
- 
-diff --git a/config.mk b/config.mk
-index 81e3e47..005b1c6 100644
---- a/config.mk
-+++ b/config.mk
-@@ -14,7 +14,7 @@ X11LIB = /usr/X11R6/lib
- INCS = -I. -I/usr/include -I${X11INC} \
-        `pkg-config --cflags fontconfig` \
-        `pkg-config --cflags freetype2`
--LIBS = -L/usr/lib -lc -L${X11LIB} -lm -lrt -lX11 -lutil -lXft \
-+LIBS = -L/usr/lib -lc -L${X11LIB} -lm -lrt -lX11 -lutil -lXext -lXft 
-lXrender\
-        `pkg-config --libs fontconfig`  \
-        `pkg-config --libs freetype2`
- 
-diff --git a/st.c b/st.c
-index 2594c65..f9ba75b 100644
---- a/st.c
-+++ b/st.c
-@@ -61,6 +61,7 @@ char *argv0;
- #define XK_ANY_MOD    UINT_MAX
- #define XK_NO_MOD     0
- #define XK_SWITCH_MOD (1<<13)
-+#define OPAQUE 0Xff
- 
- /* macros */
- #define MIN(a, b)             ((a) < (b) ? (a) : (b))
-@@ -81,6 +82,8 @@ char *argv0;
-                               (t1.tv_nsec-t2.tv_nsec)/1E6)
- #define MODBIT(x, set, bit)   ((set) ? ((x) |= (bit)) : ((x) &= ~(bit)))
- 
-+#define USE_ARGB (alpha != OPAQUE && opt_embed == NULL)
-+
- #define TRUECOLOR(r,g,b)      (1 << 24 | (r) << 16 | (g) << 8 | (b))
- #define IS_TRUECOL(x)         (1 << 24 & (x))
- #define TRUERED(x)            (((x) & 0xff0000) >> 8)
-@@ -268,6 +271,7 @@ typedef struct {
-       int w, h; /* window width and height */
-       int ch; /* char height */
-       int cw; /* char width  */
-+      int depth; /*  bit depth */
-       char state; /* focus, redraw, visible */
-       int cursor; /* cursor style */
- } XWindow;
-@@ -3137,7 +3141,7 @@ xresize(int col, int row)
- 
-       XFreePixmap(xw.dpy, xw.buf);
-       xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h,
--                      DefaultDepth(xw.dpy, xw.scr));
-+                      xw.depth);
-       XftDrawChange(xw.draw, xw.buf);
-       xclear(0, 0, xw.w, xw.h);
- }
-@@ -3191,6 +3195,14 @@ xloadcols(void)
-                       else
-                               die("Could not allocate color %d
", i);
-               }
-+
-+      /* set alpha value of bg color */
-+      if (USE_ARGB) {
-+              dc.col[defaultbg].color.alpha = (0xffff * alpha) / OPAQUE; 
//0xcccc;
-+              dc.col[defaultbg].pixel &= 0x00111111;
-+              dc.col[defaultbg].pixel |= alpha << 24; // 0xcc000000;
-+      }
-+
-       loaded = 1;
- }
- 
-@@ -3212,6 +3224,16 @@ xsetcolorname(int x, const char *name)
-       return 0;
- }
- 
-+void
-+xtermclear(int col1, int row1, int col2, int row2) {
-+      XftDrawRect(xw.draw,
-+                      &dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg],
-+                      borderpx + col1 * xw.cw,
-+                      borderpx + row1 * xw.ch,
-+                      (col2-col1+1) * xw.cw,
-+                      (row2-row1+1) * xw.ch);
-+}
-+
- /*
-  * Absolute coordinates.
-  */
-@@ -3443,7 +3465,38 @@ xinit(void)
-       if (!(xw.dpy = XOpenDisplay(NULL)))
-               die("Can't open display
");
-       xw.scr = XDefaultScreen(xw.dpy);
--      xw.vis = XDefaultVisual(xw.dpy, xw.scr);
-+      xw.depth = (USE_ARGB) ? 32: XDefaultDepth(xw.dpy, xw.scr);
-+      if (! USE_ARGB)
-+              xw.vis = XDefaultVisual(xw.dpy, xw.scr);
-+      else {
-+              XVisualInfo *vis;
-+              XRenderPictFormat *fmt;
-+              int nvi;
-+              int i;
-+
-+              XVisualInfo tpl = {
-+                      .screen = xw.scr,
-+                      .depth = 32,
-+                      .class = TrueColor
-+              };
-+
-+              vis = XGetVisualInfo(xw.dpy, VisualScreenMask | VisualDepthMask 
| VisualClassMask, &tpl, &nvi);
-+              xw.vis = NULL;
-+              for(i = 0; i < nvi; i ++) {
-+                      fmt = XRenderFindVisualFormat(xw.dpy, vis[i].visual);
-+                      if (fmt->type == PictTypeDirect && 
fmt->direct.alphaMask) {
-+                              xw.vis = vis[i].visual;
-+                              break;
-+                      }
-+              }
-+
-+              XFree(vis);
-+
-+              if (! xw.vis) {
-+                      fprintf(stderr, "Couldn't find ARGB visual.
");
-+                      exit(1);
-+              }
-+      }
- 
-       /* font */
-       if (!FcInit())
-@@ -3453,7 +3506,10 @@ xinit(void)
-       xloadfonts(usedfont, 0);
- 
-       /* colors */
--      xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
-+      if (! USE_ARGB)
-+              xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
-+      else
-+              xw.cmap = XCreateColormap(xw.dpy, XRootWindow(xw.dpy, xw.scr), 
xw.vis, None);
-       xloadcols();
- 
-       /* adjust fixed window geometry */
-@@ -3476,16 +3532,17 @@ xinit(void)
-       if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0))))
-               parent = XRootWindow(xw.dpy, xw.scr);
-       xw.win = XCreateWindow(xw.dpy, parent, xw.l, xw.t,
--                      xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), 
InputOutput,
-+                      xw.w, xw.h, 0, xw.depth, InputOutput,
-                       xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity
-                       | CWEventMask | CWColormap, &xw.attrs);
- 
-       memset(&gcvalues, 0, sizeof(gcvalues));
-       gcvalues.graphics_exposures = False;
--      dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures,
-+      xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, xw.depth);
-+      dc.gc = XCreateGC(xw.dpy,
-+                      (USE_ARGB)? xw.buf: parent,
-+                      GCGraphicsExposures,
-                       &gcvalues);
--      xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h,
--                      DefaultDepth(xw.dpy, xw.scr));
-       XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel);
-       XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, xw.w, xw.h);
- 
diff --git a/st.suckless.org/patches/st-argbbg-git-20160617-528241aa.diff 
b/st.suckless.org/patches/st-argbbg-git-20160617-528241aa.diff
new file mode 100644
index 0000000..73d8b03
--- /dev/null
+++ b/st.suckless.org/patches/st-argbbg-git-20160617-528241aa.diff
@@ -0,0 +1,188 @@
+diff --git a/config.def.h b/config.def.h
+index 9e61010..2ab4f57 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -67,6 +67,9 @@ static char termname[] = "st-256color";
+ 
+ static unsigned int tabspaces = 8;
+ 
++/* bg opacity */
++static const int alpha = 0xdd;
++
+ /* Terminal colors (16 first used in escape sequence) */
+ static const char *colorname[] = {
+       /* 8 normal colors */
+@@ -94,6 +97,7 @@ static const char *colorname[] = {
+       /* more colors can be added after 255 to use with DefaultXX */
+       "#cccccc",
+       "#555555",
++      "black",
+ };
+ 
+ 
+@@ -102,7 +106,7 @@ static const char *colorname[] = {
+  * foreground, background, cursor, reverse cursor
+  */
+ static unsigned int defaultfg = 7;
+-static unsigned int defaultbg = 0;
++static unsigned int defaultbg = 257;
+ static unsigned int defaultcs = 256;
+ static unsigned int defaultrcs = 257;
+ 
+diff --git a/config.mk b/config.mk
+index 81e3e47..005b1c6 100644
+--- a/config.mk
++++ b/config.mk
+@@ -14,7 +14,7 @@ X11LIB = /usr/X11R6/lib
+ INCS = -I. -I/usr/include -I${X11INC} \
+        `pkg-config --cflags fontconfig` \
+        `pkg-config --cflags freetype2`
+-LIBS = -L/usr/lib -lc -L${X11LIB} -lm -lrt -lX11 -lutil -lXft \
++LIBS = -L/usr/lib -lc -L${X11LIB} -lm -lrt -lX11 -lutil -lXext -lXft 
-lXrender\
+        `pkg-config --libs fontconfig`  \
+        `pkg-config --libs freetype2`
+ 
+diff --git a/st.c b/st.c
+index 2594c65..f9ba75b 100644
+--- a/st.c
++++ b/st.c
+@@ -61,6 +61,7 @@ char *argv0;
+ #define XK_ANY_MOD    UINT_MAX
+ #define XK_NO_MOD     0
+ #define XK_SWITCH_MOD (1<<13)
++#define OPAQUE 0Xff
+ 
+ /* macros */
+ #define MIN(a, b)             ((a) < (b) ? (a) : (b))
+@@ -81,6 +82,8 @@ char *argv0;
+                               (t1.tv_nsec-t2.tv_nsec)/1E6)
+ #define MODBIT(x, set, bit)   ((set) ? ((x) |= (bit)) : ((x) &= ~(bit)))
+ 
++#define USE_ARGB (alpha != OPAQUE && opt_embed == NULL)
++
+ #define TRUECOLOR(r,g,b)      (1 << 24 | (r) << 16 | (g) << 8 | (b))
+ #define IS_TRUECOL(x)         (1 << 24 & (x))
+ #define TRUERED(x)            (((x) & 0xff0000) >> 8)
+@@ -268,6 +271,7 @@ typedef struct {
+       int w, h; /* window width and height */
+       int ch; /* char height */
+       int cw; /* char width  */
++      int depth; /*  bit depth */
+       char state; /* focus, redraw, visible */
+       int cursor; /* cursor style */
+ } XWindow;
+@@ -3137,7 +3141,7 @@ xresize(int col, int row)
+ 
+       XFreePixmap(xw.dpy, xw.buf);
+       xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h,
+-                      DefaultDepth(xw.dpy, xw.scr));
++                      xw.depth);
+       XftDrawChange(xw.draw, xw.buf);
+       xclear(0, 0, xw.w, xw.h);
+ }
+@@ -3191,6 +3195,14 @@ xloadcols(void)
+                       else
+                               die("Could not allocate color %d
", i);
+               }
++
++      /* set alpha value of bg color */
++      if (USE_ARGB) {
++              dc.col[defaultbg].color.alpha = (0xffff * alpha) / OPAQUE; 
//0xcccc;
++              dc.col[defaultbg].pixel &= 0x00111111;
++              dc.col[defaultbg].pixel |= alpha << 24; // 0xcc000000;
++      }
++
+       loaded = 1;
+ }
+ 
+@@ -3212,6 +3224,16 @@ xsetcolorname(int x, const char *name)
+       return 0;
+ }
+ 
++void
++xtermclear(int col1, int row1, int col2, int row2) {
++      XftDrawRect(xw.draw,
++                      &dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg],
++                      borderpx + col1 * xw.cw,
++                      borderpx + row1 * xw.ch,
++                      (col2-col1+1) * xw.cw,
++                      (row2-row1+1) * xw.ch);
++}
++
+ /*
+  * Absolute coordinates.
+  */
+@@ -3443,7 +3465,38 @@ xinit(void)
+       if (!(xw.dpy = XOpenDisplay(NULL)))
+               die("Can't open display
");
+       xw.scr = XDefaultScreen(xw.dpy);
+-      xw.vis = XDefaultVisual(xw.dpy, xw.scr);
++      xw.depth = (USE_ARGB) ? 32: XDefaultDepth(xw.dpy, xw.scr);
++      if (! USE_ARGB)
++              xw.vis = XDefaultVisual(xw.dpy, xw.scr);
++      else {
++              XVisualInfo *vis;
++              XRenderPictFormat *fmt;
++              int nvi;
++              int i;
++
++              XVisualInfo tpl = {
++                      .screen = xw.scr,
++                      .depth = 32,
++                      .class = TrueColor
++              };
++
++              vis = XGetVisualInfo(xw.dpy, VisualScreenMask | VisualDepthMask 
| VisualClassMask, &tpl, &nvi);
++              xw.vis = NULL;
++              for(i = 0; i < nvi; i ++) {
++                      fmt = XRenderFindVisualFormat(xw.dpy, vis[i].visual);
++                      if (fmt->type == PictTypeDirect && 
fmt->direct.alphaMask) {
++                              xw.vis = vis[i].visual;
++                              break;
++                      }
++              }
++
++              XFree(vis);
++
++              if (! xw.vis) {
++                      fprintf(stderr, "Couldn't find ARGB visual.
");
++                      exit(1);
++              }
++      }
+ 
+       /* font */
+       if (!FcInit())
+@@ -3453,7 +3506,10 @@ xinit(void)
+       xloadfonts(usedfont, 0);
+ 
+       /* colors */
+-      xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
++      if (! USE_ARGB)
++              xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
++      else
++              xw.cmap = XCreateColormap(xw.dpy, XRootWindow(xw.dpy, xw.scr), 
xw.vis, None);
+       xloadcols();
+ 
+       /* adjust fixed window geometry */
+@@ -3476,16 +3532,17 @@ xinit(void)
+       if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0))))
+               parent = XRootWindow(xw.dpy, xw.scr);
+       xw.win = XCreateWindow(xw.dpy, parent, xw.l, xw.t,
+-                      xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), 
InputOutput,
++                      xw.w, xw.h, 0, xw.depth, InputOutput,
+                       xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity
+                       | CWEventMask | CWColormap, &xw.attrs);
+ 
+       memset(&gcvalues, 0, sizeof(gcvalues));
+       gcvalues.graphics_exposures = False;
+-      dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures,
++      xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, xw.depth);
++      dc.gc = XCreateGC(xw.dpy,
++                      (USE_ARGB)? xw.buf: parent,
++                      GCGraphicsExposures,
+                       &gcvalues);
+-      xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h,
+-                      DefaultDepth(xw.dpy, xw.scr));
+       XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel);
+       XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, xw.w, xw.h);
+ 
diff --git a/st.suckless.org/patches/st-clipboard-git-20160616.diff 
b/st.suckless.org/patches/st-clipboard-git-20160616.diff
deleted file mode 100644
index 4cbec85..0000000
--- a/st.suckless.org/patches/st-clipboard-git-20160616.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/st.c b/st.c
-index 2594c65..ebdde9f 100644
---- a/st.c
-+++ b/st.c
-@@ -1263,6 +1263,8 @@ xsetsel(char *str, Time t)
-       XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t);
-       if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win)
-               selclear(0);
-+
-+      clipcopy(NULL);
- }
- 
- void
diff --git a/st.suckless.org/patches/st-clipboard-git-20160617-528241aa.diff 
b/st.suckless.org/patches/st-clipboard-git-20160617-528241aa.diff
new file mode 100644
index 0000000..4cbec85
--- /dev/null
+++ b/st.suckless.org/patches/st-clipboard-git-20160617-528241aa.diff
@@ -0,0 +1,13 @@
+diff --git a/st.c b/st.c
+index 2594c65..ebdde9f 100644
+--- a/st.c
++++ b/st.c
+@@ -1263,6 +1263,8 @@ xsetsel(char *str, Time t)
+       XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t);
+       if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win)
+               selclear(0);
++
++      clipcopy(NULL);
+ }
+ 
+ void
diff --git a/st.suckless.org/patches/st-copyurl-git-20160616.diff 
b/st.suckless.org/patches/st-copyurl-git-20160616.diff
deleted file mode 100644
index cfdc218..0000000
--- a/st.suckless.org/patches/st-copyurl-git-20160616.diff
+++ /dev/null
@@ -1,88 +0,0 @@
-diff --git a/config.def.h b/config.def.h
-index 9e61010..c88bb0b 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -157,6 +157,7 @@ static Shortcut shortcuts[] = {
-       { MODKEY|ShiftMask,     XK_C,           clipcopy,       {.i =  0} },
-       { MODKEY|ShiftMask,     XK_V,           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 2594c65..78201ff 100644
---- a/st.c
-+++ b/st.c
-@@ -336,6 +336,7 @@ static void printsel(const Arg *);
- static void printscreen(const Arg *) ;
- static void toggleprinter(const Arg *);
- static void sendbreak(const Arg *);
-+static void copyurl(const Arg *);
- 
- /* Config.h for applying patches and the configuration. */
- #include "config.h"
-@@ -4402,3 +4403,63 @@ 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-._~:/?#@!$&'*+,;=%";
-+
-+      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;
-+      LIMIT(row, term.top, term.bot);
-+      startrow = row;
-+
-+      /* find the start of the last url before selection */
-+      do {
-+              for (i = 0; i < term.col; ++i) {
-+                      if (term.line[row][i].u > 127) /* assume ascii */
-+                              continue;
-+                      linestr[i] = term.line[row][i].u;
-+              }
-+              linestr[term.col] = '

Reply via email to