From 729714a52596c53d2e594509c021882e8d12f516 Mon Sep 17 00:00:00 2001 From: coast Date: Thu, 29 May 2025 22:40:59 +0200 Subject: [PATCH] Upload files to ".suckless/st" --- ...st-alpha-changealpha-20230519-b44f2ad.diff | 194 ++++++++++++++ .suckless/st/st.info | 243 ++++++++++++++++++ .suckless/st/st.o | Bin 0 -> 82592 bytes .suckless/st/win.h | 41 +++ 4 files changed, 478 insertions(+) create mode 100644 .suckless/st/st-alpha-changealpha-20230519-b44f2ad.diff create mode 100644 .suckless/st/st.info create mode 100644 .suckless/st/st.o create mode 100644 .suckless/st/win.h diff --git a/.suckless/st/st-alpha-changealpha-20230519-b44f2ad.diff b/.suckless/st/st-alpha-changealpha-20230519-b44f2ad.diff new file mode 100644 index 0000000..9d8bf6e --- /dev/null +++ b/.suckless/st/st-alpha-changealpha-20230519-b44f2ad.diff @@ -0,0 +1,194 @@ +diff --git a/st/config.def.h b/st_patched/config.def.h +index 91ab8ca..59fc2a9 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -93,6 +93,10 @@ char *termname = "st-256color"; + */ + unsigned int tabspaces = 8; + ++/* bg opacity */ ++float alpha = 0.8; ++float alpha_def; ++ + /* Terminal colors (16 first used in escape sequence) */ + static const char *colorname[] = { + /* 8 normal colors */ +@@ -201,6 +205,9 @@ static Shortcut shortcuts[] = { + { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, ++ { MODKEY, XK_bracketleft, chgalpha, {.f = -1} }, /* Decrease opacity */ ++ { MODKEY|ShiftMask, XK_braceright, chgalpha, {.f = +1} }, /* Increase opacity */ ++ { MODKEY, XK_bracketright,chgalpha, {.f = 0} }, /* Reset opacity */ + }; + + /* +diff --git a/st/st.h b/st_patched/st.h +index fd3b0d8..cda8c13 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, alpha_def; +diff --git a/st/config.mk b/st_patched/config.mk +index 1e306f8..47c615e 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/x.c b/st_patched/x.c +index aa09997..3b05a55 100644 +--- a/x.c ++++ b/x.c +@@ -59,6 +59,7 @@ static void zoom(const Arg *); + static void zoomabs(const Arg *); + static void zoomreset(const Arg *); + static void ttysend(const Arg *); ++static void chgalpha(const Arg *); + + /* config.h for applying patches and the configuration. */ + #include "config.h" +@@ -105,6 +106,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; +@@ -243,6 +245,7 @@ static char *usedfont = NULL; + static double usedfontsize = 0; + static double defaultfontsize = 0; + ++static char *opt_alpha = NULL; + static char *opt_class = NULL; + static char **opt_cmd = NULL; + static char *opt_embed = NULL; +@@ -752,7 +755,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); + +@@ -812,6 +815,13 @@ xloadcols(void) + else + die("could not allocate color %d\n", i); + } ++ ++ /* set alpha value of bg color */ ++ if (opt_alpha) ++ alpha = strtof(opt_alpha, NULL); ++ 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; + } + +@@ -1134,11 +1144,23 @@ xinit(int cols, int rows) + Window parent; + 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()) +@@ -1147,8 +1169,11 @@ xinit(int cols, int rows) + usedfont = (opt_font == NULL)? font : opt_font; + xloadfonts(usedfont, 0); + ++ /* Backup default alpha value */ ++ alpha_def = alpha; ++ + /* colors */ +- xw.cmap = XDefaultColormap(xw.dpy, xw.scr); ++ xw.cmap = XCreateColormap(xw.dpy, parent, xw.vis, None); + xloadcols(); + + /* adjust fixed window geometry */ +@@ -1168,19 +1193,15 @@ xinit(int cols, int rows) + | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask; + xw.attrs.colormap = xw.cmap; + +- 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, +- 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); + + memset(&gcvalues, 0, sizeof(gcvalues)); + gcvalues.graphics_exposures = False; +- dc.gc = XCreateGC(xw.dpy, parent, 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); + +@@ -1371,6 +1392,24 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x + return numspecs; + } + ++void ++chgalpha(const Arg *arg) ++{ ++ if (arg->f == -1.0f && alpha >= 0.1f) ++ alpha -= 0.1f; ++ else if (arg->f == 1.0f && alpha < 1.0f) ++ alpha += 0.1f; ++ else if (arg->f == 0.0f) ++ alpha = alpha_def; ++ else ++ return; ++ ++ dc.col[defaultbg].color.alpha = (unsigned short)(0xFFFF * alpha); ++ /* Required to remove artifacting from borderpx */ ++ cresize(0, 0); ++ redraw(); ++} ++ + void + xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) + { +@@ -2038,6 +2077,9 @@ main(int argc, char *argv[]) + case 'a': + allowaltscreen = 0; + break; ++ case 'A': ++ opt_alpha = EARGF(usage()); ++ break; + case 'c': + opt_class = EARGF(usage()); + break; diff --git a/.suckless/st/st.info b/.suckless/st/st.info new file mode 100644 index 0000000..efab2cf --- /dev/null +++ b/.suckless/st/st.info @@ -0,0 +1,243 @@ +st-mono| simpleterm monocolor, + acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + am, + bce, + bel=^G, + blink=\E[5m, + bold=\E[1m, + cbt=\E[Z, + cvvis=\E[?25h, + civis=\E[?25l, + clear=\E[H\E[2J, + cnorm=\E[?12l\E[?25h, + colors#2, + cols#80, + cr=^M, + csr=\E[%i%p1%d;%p2%dr, + cub=\E[%p1%dD, + cub1=^H, + cud1=^J, + cud=\E[%p1%dB, + cuf1=\E[C, + cuf=\E[%p1%dC, + cup=\E[%i%p1%d;%p2%dH, + cuu1=\E[A, + cuu=\E[%p1%dA, + dch=\E[%p1%dP, + dch1=\E[P, + dim=\E[2m, + dl=\E[%p1%dM, + dl1=\E[M, + ech=\E[%p1%dX, + ed=\E[J, + el=\E[K, + el1=\E[1K, + enacs=\E)0, + flash=\E[?5h$<80/>\E[?5l, + fsl=^G, + home=\E[H, + hpa=\E[%i%p1%dG, + hs, + ht=^I, + hts=\EH, + ich=\E[%p1%d@, + il1=\E[L, + il=\E[%p1%dL, + ind=^J, + indn=\E[%p1%dS, + invis=\E[8m, + is2=\E[4l\E>\E[?1034l, + it#8, + kel=\E[1;2F, + ked=\E[1;5F, + ka1=\E[1~, + ka3=\E[5~, + kc1=\E[4~, + kc3=\E[6~, + kbs=\177, + kcbt=\E[Z, + kb2=\EOu, + kcub1=\EOD, + kcud1=\EOB, + kcuf1=\EOC, + kcuu1=\EOA, + kDC=\E[3;2~, + kent=\EOM, + kEND=\E[1;2F, + kIC=\E[2;2~, + kNXT=\E[6;2~, + kPRV=\E[5;2~, + kHOM=\E[1;2H, + kLFT=\E[1;2D, + kRIT=\E[1;2C, + kind=\E[1;2B, + kri=\E[1;2A, + kclr=\E[3;5~, + kdl1=\E[3;2~, + kdch1=\E[3~, + kich1=\E[2~, + kend=\E[4~, + kf1=\EOP, + kf2=\EOQ, + kf3=\EOR, + kf4=\EOS, + kf5=\E[15~, + kf6=\E[17~, + kf7=\E[18~, + kf8=\E[19~, + kf9=\E[20~, + kf10=\E[21~, + kf11=\E[23~, + kf12=\E[24~, + kf13=\E[1;2P, + kf14=\E[1;2Q, + kf15=\E[1;2R, + kf16=\E[1;2S, + kf17=\E[15;2~, + kf18=\E[17;2~, + kf19=\E[18;2~, + kf20=\E[19;2~, + kf21=\E[20;2~, + kf22=\E[21;2~, + kf23=\E[23;2~, + kf24=\E[24;2~, + kf25=\E[1;5P, + kf26=\E[1;5Q, + kf27=\E[1;5R, + kf28=\E[1;5S, + kf29=\E[15;5~, + kf30=\E[17;5~, + kf31=\E[18;5~, + kf32=\E[19;5~, + kf33=\E[20;5~, + kf34=\E[21;5~, + kf35=\E[23;5~, + kf36=\E[24;5~, + kf37=\E[1;6P, + kf38=\E[1;6Q, + kf39=\E[1;6R, + kf40=\E[1;6S, + kf41=\E[15;6~, + kf42=\E[17;6~, + kf43=\E[18;6~, + kf44=\E[19;6~, + kf45=\E[20;6~, + kf46=\E[21;6~, + kf47=\E[23;6~, + kf48=\E[24;6~, + kf49=\E[1;3P, + kf50=\E[1;3Q, + kf51=\E[1;3R, + kf52=\E[1;3S, + kf53=\E[15;3~, + kf54=\E[17;3~, + kf55=\E[18;3~, + kf56=\E[19;3~, + kf57=\E[20;3~, + kf58=\E[21;3~, + kf59=\E[23;3~, + kf60=\E[24;3~, + kf61=\E[1;4P, + kf62=\E[1;4Q, + kf63=\E[1;4R, + khome=\E[1~, + kil1=\E[2;5~, + krmir=\E[2;2~, + knp=\E[6~, + kmous=\E[M, + kpp=\E[5~, + lines#24, + mir, + msgr, + npc, + op=\E[39;49m, + pairs#64, + mc0=\E[i, + mc4=\E[4i, + mc5=\E[5i, + rc=\E8, + rev=\E[7m, + ri=\EM, + rin=\E[%p1%dT, + ritm=\E[23m, + rmacs=\E(B, + rmcup=\E[?1049l, + rmir=\E[4l, + rmkx=\E[?1l\E>, + rmso=\E[27m, + rmul=\E[24m, + rs1=\Ec, + rs2=\E[4l\E>\E[?1034l, + sc=\E7, + sitm=\E[3m, + sgr0=\E[0m, + smacs=\E(0, + smcup=\E[?1049h, + smir=\E[4h, + smkx=\E[?1h\E=, + smso=\E[7m, + smul=\E[4m, + tbc=\E[3g, + tsl=\E]0;, + xenl, + vpa=\E[%i%p1%dd, +# XTerm extensions + rmxx=\E[29m, + smxx=\E[9m, + BE=\E[?2004h, + BD=\E[?2004l, + PS=\E[200~, + PE=\E[201~, +# disabled rep for now: causes some issues with older ncurses versions. +# rep=%p1%c\E[%p2%{1}%-%db, +# tmux extensions, see TERMINFO EXTENSIONS in tmux(1) + Tc, + Ms=\E]52;%p1%s;%p2%s\007, + Se=\E[2 q, + Ss=\E[%p1%d q, + +st| simpleterm, + use=st-mono, + colors#8, + setab=\E[4%p1%dm, + setaf=\E[3%p1%dm, + setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, + setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, + sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, + +st-256color| simpleterm with 256 colors, + use=st, + ccc, + colors#256, + oc=\E]104\007, + pairs#32767, +# Nicked from xterm-256color + initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, + setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m, + setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m, + +st-meta| simpleterm with meta key, + use=st, + km, + rmm=\E[?1034l, + smm=\E[?1034h, + rs2=\E[4l\E>\E[?1034h, + is2=\E[4l\E>\E[?1034h, + +st-meta-256color| simpleterm with meta key and 256 colors, + use=st-256color, + km, + rmm=\E[?1034l, + smm=\E[?1034h, + rs2=\E[4l\E>\E[?1034h, + is2=\E[4l\E>\E[?1034h, + +st-bs| simpleterm with backspace as backspace, + use=st, + kbs=\010, + kdch1=\177, + +st-bs-256color| simpleterm with backspace as backspace and 256colors, + use=st-256color, + kbs=\010, + kdch1=\177, diff --git a/.suckless/st/st.o b/.suckless/st/st.o new file mode 100644 index 0000000000000000000000000000000000000000..6f4b43b52a09233ac3f55c8debc691494db1cd60 GIT binary patch literal 82592 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