diff options
author | A Farzat <a@farzat.xyz> | 2024-10-22 14:26:45 +0900 |
---|---|---|
committer | A Farzat <a@farzat.xyz> | 2024-11-03 21:26:50 +0900 |
commit | 2ebeb2e237599eed280bce5c2b87420b0ba3e87e (patch) | |
tree | 18b339b2d363f2ebf682283a6e8330356f9a5080 /.config/paru/pkg_config/st/patches/0003-Apply-alpha-0.8.5-modified.diff | |
parent | 4b3b3da066cdc74a384c8b34a9eb10cbffdc44b8 (diff) | |
download | dotfiles-2ebeb2e237599eed280bce5c2b87420b0ba3e87e.tar.gz dotfiles-2ebeb2e237599eed280bce5c2b87420b0ba3e87e.zip |
Add st patches and config.h to paru
Diffstat (limited to '.config/paru/pkg_config/st/patches/0003-Apply-alpha-0.8.5-modified.diff')
-rw-r--r-- | .config/paru/pkg_config/st/patches/0003-Apply-alpha-0.8.5-modified.diff | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/.config/paru/pkg_config/st/patches/0003-Apply-alpha-0.8.5-modified.diff b/.config/paru/pkg_config/st/patches/0003-Apply-alpha-0.8.5-modified.diff new file mode 100644 index 0000000..747160a --- /dev/null +++ b/.config/paru/pkg_config/st/patches/0003-Apply-alpha-0.8.5-modified.diff @@ -0,0 +1,143 @@ +From cd3fb2a876303aa6e7a5c430173cba209a052981 Mon Sep 17 00:00:00 2001 +From: A Farzat <a@farzat.xyz> +Date: Sun, 31 Dec 2023 09:55:29 +0900 +Subject: [PATCH 3/4] Apply alpha-0.8.5 modified + +--- + config.def.h | 3 +++ + config.mk | 2 +- + st.h | 1 + + x.c | 34 ++++++++++++++++++++++++---------- + 4 files changed, 29 insertions(+), 11 deletions(-) + +diff --git a/config.def.h b/config.def.h +index 1dd5a9b..4a60638 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -99,6 +99,9 @@ char *termname = "st-256color"; + */ + unsigned int tabspaces = 8; + ++/* bg opacity */ ++float alpha = 0.8; ++ + /* Terminal colors (16 first used in escape sequence) */ + static const char *colorname[] = { + /* 8 normal colors */ +diff --git a/config.mk b/config.mk +index fdc29a7..069a6c2 100644 +--- a/config.mk ++++ b/config.mk +@@ -16,7 +16,7 @@ PKG_CONFIG = pkg-config + INCS = -I$(X11INC) \ + `$(PKG_CONFIG) --cflags fontconfig` \ + `$(PKG_CONFIG) --cflags freetype2` +-LIBS = -L$(X11LIB) -lm -lrt -lX11 -lutil -lXft \ ++LIBS = -L$(X11LIB) -lm -lrt -lX11 -lutil -lXft -lXrender\ + `$(PKG_CONFIG) --libs fontconfig` \ + `$(PKG_CONFIG) --libs freetype2` + +diff --git a/st.h b/st.h +index fd3b0d8..9f91e2a 100644 +--- a/st.h ++++ b/st.h +@@ -124,3 +124,4 @@ extern unsigned int tabspaces; + extern unsigned int defaultfg; + extern unsigned int defaultbg; + extern unsigned int defaultcs; ++extern float alpha; +diff --git a/x.c b/x.c +index fef7f65..9a76f95 100644 +--- a/x.c ++++ b/x.c +@@ -105,6 +105,7 @@ typedef struct { + XSetWindowAttributes attrs; + int scr; + int isfixed; /* is fixed geometry? */ ++ int depth; /* bit depth */ + int l, t; /* left and top offset */ + int gm; /* geometry mask */ + } XWindow; +@@ -755,7 +756,7 @@ xresize(int col, int row) + + XFreePixmap(xw.dpy, xw.buf); + xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, +- DefaultDepth(xw.dpy, xw.scr)); ++ xw.depth); + XftDrawChange(xw.draw, xw.buf); + xclear(0, 0, win.w, win.h); + +@@ -815,6 +816,11 @@ xloadcols(void) + else + die("could not allocate color %d\n", i); + } ++ ++ /* set alpha value of bg color */ ++ dc.col[defaultbg].color.alpha = (unsigned short)(0xffff * alpha); ++ dc.col[defaultbg].pixel &= 0x00FFFFFF; ++ dc.col[defaultbg].pixel |= (unsigned char)(0xff * alpha) << 24; + loaded = 1; + } + +@@ -1232,11 +1238,23 @@ xinit(int cols, int rows) + Window parent, root; + pid_t thispid = getpid(); + XColor xmousefg, xmousebg; ++ XWindowAttributes attr; ++ XVisualInfo vis; + + if (!(xw.dpy = XOpenDisplay(NULL))) + die("can't open display\n"); + xw.scr = XDefaultScreen(xw.dpy); +- xw.vis = XDefaultVisual(xw.dpy, xw.scr); ++ ++ if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0)))) { ++ parent = XRootWindow(xw.dpy, xw.scr); ++ xw.depth = 32; ++ } else { ++ XGetWindowAttributes(xw.dpy, parent, &attr); ++ xw.depth = attr.depth; ++ } ++ ++ XMatchVisualInfo(xw.dpy, xw.scr, xw.depth, TrueColor, &vis); ++ xw.vis = vis.visual; + + /* font */ + if (!FcInit()) +@@ -1249,7 +1267,7 @@ xinit(int cols, int rows) + xloadsparefonts(); + + /* colors */ +- xw.cmap = XDefaultColormap(xw.dpy, xw.scr); ++ xw.cmap = XCreateColormap(xw.dpy, parent, xw.vis, None); + xloadcols(); + + /* adjust fixed window geometry */ +@@ -1270,10 +1288,8 @@ xinit(int cols, int rows) + xw.attrs.colormap = xw.cmap; + + root = XRootWindow(xw.dpy, xw.scr); +- if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0)))) +- parent = root; + xw.win = XCreateWindow(xw.dpy, root, xw.l, xw.t, +- win.w, win.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, ++ win.w, win.h, 0, xw.depth, InputOutput, + xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity + | CWEventMask | CWColormap, &xw.attrs); + if (parent != root) +@@ -1281,10 +1297,8 @@ xinit(int cols, int rows) + + memset(&gcvalues, 0, sizeof(gcvalues)); + gcvalues.graphics_exposures = False; +- dc.gc = XCreateGC(xw.dpy, xw.win, GCGraphicsExposures, +- &gcvalues); +- xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, +- DefaultDepth(xw.dpy, xw.scr)); ++ xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, xw.depth); ++ dc.gc = XCreateGC(xw.dpy, xw.buf, GCGraphicsExposures, &gcvalues); + XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel); + XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, win.w, win.h); + +-- +2.46.0 + |