summaryrefslogtreecommitdiff
path: root/x.c
diff options
context:
space:
mode:
Diffstat (limited to 'x.c')
-rw-r--r--x.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/x.c b/x.c
index d1721d7..2580d2a 100644
--- a/x.c
+++ b/x.c
@@ -182,6 +182,7 @@ static void xsetenv(void);
static void xseturgency(int);
static int evcol(XEvent *);
static int evrow(XEvent *);
+static float clamp(float, float, float);
static void expose(XEvent *);
static void visibility(XEvent *);
@@ -319,10 +320,8 @@ changealpha(const Arg *arg)
{
if((alpha > 0 && arg->f < 0) || (alpha < 1 && arg->f > 0))
alpha += arg->f;
- if(alpha < 0)
- alpha = 0;
- if(alpha > 1)
- alpha = 1;
+ alpha = clamp(alpha, 0.0, 1.0);
+ alphaUnfocus = clamp(alpha-alphaOffset, 0.0, 1.0);
xloadcols();
redraw();
@@ -381,6 +380,15 @@ evrow(XEvent *e)
return y / win.ch;
}
+float
+clamp(float value, float lower, float upper) {
+ if(value < lower)
+ return lower;
+ if(value > upper)
+ return upper;
+ return value;
+}
+
void
mousesel(XEvent *e, int done)
{
@@ -2298,6 +2306,7 @@ run:
cols = MAX(cols, 1);
rows = MAX(rows, 1);
defaultbg = MAX(LEN(colorname), 256);
+ alphaUnfocus = alpha-alphaOffset;
tnew(cols, rows);
xinit(cols, rows);
xsetenv();