use compute function in settrans()
This commit is contained in:
parent
35defcc4e8
commit
4488708feb
18
client.c
18
client.c
|
@ -659,34 +659,30 @@ uicb_settrans(Display *disp __attribute__ ((unused)),
|
||||||
awesome_config *awesomeconf __attribute__ ((unused)),
|
awesome_config *awesomeconf __attribute__ ((unused)),
|
||||||
const char *arg)
|
const char *arg)
|
||||||
{
|
{
|
||||||
double delta = 100.0;
|
double delta = 100.0, current_opacity = 0.0;
|
||||||
unsigned char *data;
|
unsigned char *data;
|
||||||
Atom actual;
|
Atom actual;
|
||||||
int format;
|
int format;
|
||||||
unsigned long n, left;
|
unsigned long n, left;
|
||||||
|
unsigned int current_opacity_raw = 0;
|
||||||
int set_prop = 0;
|
int set_prop = 0;
|
||||||
|
|
||||||
if(!sel)
|
if(!sel)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(arg && sscanf(arg, "%lf", &delta) && (arg[0] == '+' || arg[0] == '-'))
|
|
||||||
{
|
|
||||||
XGetWindowProperty(sel->display, sel->win, XInternAtom(sel->display, "_NET_WM_WINDOW_OPACITY", False),
|
XGetWindowProperty(sel->display, sel->win, XInternAtom(sel->display, "_NET_WM_WINDOW_OPACITY", False),
|
||||||
0L, 1L, False, XA_CARDINAL, &actual, &format, &n, &left,
|
0L, 1L, False, XA_CARDINAL, &actual, &format, &n, &left,
|
||||||
(unsigned char **) &data);
|
(unsigned char **) &data);
|
||||||
if(data)
|
if(data)
|
||||||
{
|
{
|
||||||
unsigned int current_opacity = 0;
|
memcpy(¤t_opacity_raw, data, sizeof(unsigned int));
|
||||||
memcpy(¤t_opacity, data, sizeof(unsigned int));
|
XFree(data);
|
||||||
XFree((void *) data);
|
current_opacity = (current_opacity_raw * 100.0) / 0xffffffff;
|
||||||
delta += ((current_opacity * 100.0) / 0xffffffff);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
delta += 100.0;
|
|
||||||
set_prop = 1;
|
set_prop = 1;
|
||||||
}
|
|
||||||
}
|
delta = compute_new_value_from_arg(arg, current_opacity);
|
||||||
|
|
||||||
if(delta <= 0.0)
|
if(delta <= 0.0)
|
||||||
delta = 0.0;
|
delta = 0.0;
|
||||||
|
|
Loading…
Reference in New Issue