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:
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,