commit 2d74e49c4faf4d9a6a5901e22cab8df1f0c5f4c5
parent 499b7fbc195c7b6eac2bd383f243695550a440b0
Author: Utkarsh Verma <utkarshverma@protonmail.com>
Date: Sat, 24 Sep 2022 10:43:14 +0200
Add function for changing alpha (#47)
Co-authored-by: Stein Gunnar Bakkeby <bakkeby@gmail.com>
Diffstat:
5 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -393,6 +393,14 @@ static Shortcut shortcuts[] = {
{ TERMMOD, XK_Home, zoomreset, {.f = 0} },
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
{ TERMMOD, XK_V, clippaste, {.i = 0} },
+ #if ALPHA_PATCH
+ { TERMMOD, XK_O, changealpha, {.f = +0.05} },
+ { TERMMOD, XK_P, changealpha, {.f = -0.05} },
+ #if ALPHA_FOCUS_HIGHLIGHT_PATCH
+ //{ TERMMOD, XK_, changealphaunfocused, {.f = +0.05} },
+ //{ TERMMOD, XK_, changealphaunfocused, {.f = -0.05} },
+ #endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
+ #endif // ALPHA_PATCH
#if SCROLLBACK_PATCH
{ ShiftMask, XK_Page_Up, kscrollup, {.i = -1}, S_PRI },
{ ShiftMask, XK_Page_Down, kscrolldown, {.i = -1}, S_PRI },
diff --git a/patch/alpha.c b/patch/alpha.c
@@ -0,0 +1,32 @@
+float
+clamp(float value, float lower, float upper) {
+ if (value < lower)
+ return lower;
+ if (value > upper)
+ return upper;
+ return value;
+}
+
+void
+changealpha(const Arg *arg)
+{
+ if ((alpha > 0 && arg->f < 0) || (alpha < 1 && arg->f > 0))
+ alpha += arg->f;
+ alpha = clamp(alpha, 0.0, 1.0);
+ xloadcols();
+ redraw();
+ fprintf(stderr, "changealpha %f\n", arg->f);
+}
+
+#if ALPHA_FOCUS_HIGHLIGHT_PATCH
+void
+changealphaunfocused(const Arg *arg)
+{
+ if ((alphaUnfocused > 0 && arg->f < 0) || (alphaUnfocused < 1 && arg->f > 0))
+ alphaUnfocused += arg->f;
+ alphaUnfocused = clamp(alphaUnfocused, 0.0, 1.0);
+ xloadcols();
+ redraw();
+ fprintf(stderr, "changealphaunfocused %f\n", arg->f);
+}
+#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
diff --git a/patch/alpha.h b/patch/alpha.h
@@ -0,0 +1,5 @@
+static float clamp(float value, float lower, float upper);
+static void changealpha(const Arg *);
+#if ALPHA_FOCUS_HIGHLIGHT_PATCH
+static void changealphaunfocused(const Arg *arg);
+#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
diff --git a/patch/x_include.c b/patch/x_include.c
@@ -1,4 +1,7 @@
/* Patches */
+#if ALPHA_PATCH
+#include "alpha.c"
+#endif
#if BACKGROUND_IMAGE_PATCH
#include "background_image_x.c"
#endif
diff --git a/patch/x_include.h b/patch/x_include.h
@@ -1,4 +1,7 @@
/* Patches */
+#if ALPHA_PATCH
+#include "alpha.h"
+#endif
#if BACKGROUND_IMAGE_PATCH
#include "background_image_x.h"
#endif