st-flexipatch

My st-flexipatch configuration
git clone git://git.ethandl.dev/st-flexipatch
Log | Files | Refs | README | LICENSE

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:
Mconfig.def.h | 8++++++++
Apatch/alpha.c | 32++++++++++++++++++++++++++++++++
Apatch/alpha.h | 5+++++
Mpatch/x_include.c | 3+++
Mpatch/x_include.h | 3+++
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