Add function for changing alpha (#47)

Co-authored-by: Stein Gunnar Bakkeby <bakkeby@gmail.com>
This commit is contained in:
Utkarsh Verma 2022-09-24 10:43:14 +02:00 committed by Bakkeby
parent 499b7fbc19
commit 2d74e49c4f
5 changed files with 51 additions and 0 deletions

View File

@ -393,6 +393,14 @@ static Shortcut shortcuts[] = {
{ TERMMOD, XK_Home, zoomreset, {.f = 0} }, { TERMMOD, XK_Home, zoomreset, {.f = 0} },
{ TERMMOD, XK_C, clipcopy, {.i = 0} }, { TERMMOD, XK_C, clipcopy, {.i = 0} },
{ TERMMOD, XK_V, clippaste, {.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 #if SCROLLBACK_PATCH
{ ShiftMask, XK_Page_Up, kscrollup, {.i = -1}, S_PRI }, { ShiftMask, XK_Page_Up, kscrollup, {.i = -1}, S_PRI },
{ ShiftMask, XK_Page_Down, kscrolldown, {.i = -1}, S_PRI }, { ShiftMask, XK_Page_Down, kscrolldown, {.i = -1}, S_PRI },

32
patch/alpha.c Normal file
View File

@ -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

5
patch/alpha.h Normal file
View File

@ -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

View File

@ -1,4 +1,7 @@
/* Patches */ /* Patches */
#if ALPHA_PATCH
#include "alpha.c"
#endif
#if BACKGROUND_IMAGE_PATCH #if BACKGROUND_IMAGE_PATCH
#include "background_image_x.c" #include "background_image_x.c"
#endif #endif

View File

@ -1,4 +1,7 @@
/* Patches */ /* Patches */
#if ALPHA_PATCH
#include "alpha.h"
#endif
#if BACKGROUND_IMAGE_PATCH #if BACKGROUND_IMAGE_PATCH
#include "background_image_x.h" #include "background_image_x.h"
#endif #endif