st

my customized branch of st
git clone git://git.jakekoroman.com/st
Log | Files | Refs | README | LICENSE

commit 05871c1a5f0d899794d6215c393e96fd592a42d8
parent d63f7119a4bd42d37b8ce7a2a6457b139af5c23d
Author: Jake Koroman <jake@jakekoroman.com>
Date:   Tue,  4 Nov 2025 20:33:32 -0500

x.c: make opacity toggleable.

Diffstat:
Mconfig.def.h | 4+++-
Mx.c | 10++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/config.def.h b/config.def.h @@ -94,7 +94,8 @@ char *termname = "st-256color"; unsigned int tabspaces = 8; /* bg opacity */ -float alpha = 0.8; +#define DEFAULT_ALPHA 0.8f +float alpha = DEFAULT_ALPHA; /* Terminal colors (16 first used in escape sequence) */ static const char *colorname[] = { @@ -202,6 +203,7 @@ static Shortcut shortcuts[] = { { TERMMOD, XK_C, clipcopy, {.i = 0} }, { TERMMOD, XK_V, clippaste, {.i = 0} }, { TERMMOD, XK_Y, selpaste, {.i = 0} }, + { TERMMOD, XK_T, togglealpha, {.i = 0} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} }, { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, }; diff --git a/x.c b/x.c @@ -55,6 +55,7 @@ static void clipcopy(const Arg *); static void clippaste(const Arg *); static void numlock(const Arg *); static void selpaste(const Arg *); +static void togglealpha(const Arg *); static void zoom(const Arg *); static void zoomabs(const Arg *); static void zoomreset(const Arg *); @@ -282,6 +283,15 @@ clippaste(const Arg *dummy) } void +togglealpha(const Arg *dummy) +{ + alpha = alpha != 1.0f ? 1.0f : DEFAULT_ALPHA; + dc.col[defaultbg].color.alpha = (unsigned short)(0xFFFF * alpha); + cresize(0, 0); + redraw(); +} + +void selpaste(const Arg *dummy) { XConvertSelection(xw.dpy, XA_PRIMARY, xsel.xtarget, XA_PRIMARY,