aboutsummaryrefslogtreecommitdiffstats
path: root/st-custom/transparency.diff
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2015-07-13 18:42:52 +0200
committerTharre <tharre3@gmail.com>2015-07-13 18:42:52 +0200
commit35f9c3fa7131f54ec5c9417a60cfdaa21fc3171c (patch)
treed79469b882ec0e955364c9e69dd91d0b38d5854c /st-custom/transparency.diff
parent71532baa009ee1337e4339bbd7e983fa051aeb85 (diff)
downloadpkgbuilds-35f9c3fa7131f54ec5c9417a60cfdaa21fc3171c.tar.gz
pkgbuilds-35f9c3fa7131f54ec5c9417a60cfdaa21fc3171c.tar.xz
pkgbuilds-35f9c3fa7131f54ec5c9417a60cfdaa21fc3171c.zip
st: update to 0.6
Diffstat (limited to 'st-custom/transparency.diff')
-rw-r--r--st-custom/transparency.diff154
1 files changed, 0 insertions, 154 deletions
diff --git a/st-custom/transparency.diff b/st-custom/transparency.diff
deleted file mode 100644
index 4e3c3e8..0000000
--- a/st-custom/transparency.diff
+++ /dev/null
@@ -1,154 +0,0 @@
-diff --git a/config.def.h b/config.def.h
-index bb5596e..0cd0af0 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -96,6 +96,9 @@ static unsigned int defaultfg = 7;
- static unsigned int defaultbg = 0;
- static unsigned int defaultcs = 256;
-
-+/* background opacity */
-+static const int alpha = 0xed;
-+
- /*
- * Colors used, when the specific fg == defaultfg. So in reverse mode this
- * will reverse too. Another logic would only make the simple feature too
-diff --git a/config.mk b/config.mk
-index 3026d87..827def2 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 -lXext -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 0204b2e..5a3bea9 100644
---- a/st.c
-+++ b/st.c
-@@ -62,6 +62,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))
-@@ -83,6 +84,7 @@ char *argv0;
- #define TRUERED(x) (((x) & 0xff0000) >> 8)
- #define TRUEGREEN(x) (((x) & 0xff00))
- #define TRUEBLUE(x) (((x) & 0xff) << 8)
-+#define USE_ARGB (alpha != OPAQUE && opt_embed == NULL)
-
-
- enum glyph_attribute {
-@@ -255,6 +257,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;
-@@ -2887,8 +2890,7 @@ xresize(int col, int row) {
- xw.th = MAX(1, row * xw.ch);
-
- XFreePixmap(xw.dpy, xw.buf);
-- xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h,
-- DefaultDepth(xw.dpy, xw.scr));
-+ xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, xw.depth);
- XftDrawChange(xw.draw, xw.buf);
- xclear(0, 0, xw.w, xw.h);
- }
-@@ -2938,6 +2940,14 @@ xloadcols(void) {
- else
- die("Could not allocate color %d\n", 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 = true;
- }
-
-@@ -3182,7 +3192,38 @@ xinit(void) {
- if(!(xw.dpy = XOpenDisplay(NULL)))
- die("Can't open display\n");
- 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.\n");
-+ exit(1);
-+ }
-+ }
-
- /* font */
- if(!FcInit())
-@@ -3192,7 +3233,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 */
-@@ -3215,16 +3259,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);
-