diff -Naur xfwm4/src/client.c sm_ok/src/client.c --- xfwm4/src/client.c 2005-01-19 21:35:22.000000000 +0100 +++ sm_ok/src/client.c 2005-01-21 20:54:31.000000000 +0100 @@ -2317,6 +2317,40 @@ } clientRaise (c); } +///////flw1 +long f_step= 0x16000000; +long f_min = 0x40000000; + +void +clientDecOpacity (Client * c) +{ + ScreenInfo *screen_info = NULL; +DisplayInfo *display_info = NULL; +screen_info = c->screen_info; +display_info = screen_info->display_info; + if ( c->opacity > f_min ) + { + c->opacity -= f_step; + compositorWindowSetOpacity (display_info, c->frame, c->opacity); + } +} + +void +clientIncOpacity (Client * c) +{ +ScreenInfo *screen_info = NULL; +DisplayInfo *display_info = NULL; +screen_info = c->screen_info; +display_info = screen_info->display_info; + if ( c->opacity < NET_WM_OPAQUE ) + { + c->opacity += f_step; + if ( c->opacity < f_min ) + c->opacity = NET_WM_OPAQUE ; + compositorWindowSetOpacity (display_info, c->frame, c->opacity); + + } +} void clientShade (Client * c) diff -Naur xfwm4/src/compositor.c sm_ok/src/compositor.c --- xfwm4/src/compositor.c 2005-01-17 22:00:57.000000000 +0100 +++ sm_ok/src/compositor.c 2005-01-21 20:10:58.000000000 +0100 @@ -760,7 +760,7 @@ double opacity = SHADOW_OPACITY; if (cw->mode == WINDOW_TRANS) { - opacity = opacity * ((double) cw->opacity) / ((double) NET_WM_OPAQUE); + opacity = opacity * ((double) cw->opacity) / ((double) NET_WM_OPAQUE) * ((double) cw->opacity) / ((double) NET_WM_OPAQUE); } cw->shadow = shadow_picture (screen_info, opacity, cw->attr.width + 2 * cw->attr.border_width, diff -Naur xfwm4/src/events.c sm_ok/src/events.c --- xfwm4/src/events.c 2005-01-12 18:49:41.000000000 +0100 +++ sm_ok/src/events.c 2005-01-21 20:10:58.000000000 +0100 @@ -776,19 +776,23 @@ } else if (ev->button == Button4) { - /* Mouse wheel scroll up */ + clientIncOpacity(c); + + /* Mouse wheel scroll up if (!FLAG_TEST (c->flags, CLIENT_FLAG_SHADED)) { clientShade (c); - } + }*/ } else if (ev->button == Button5) { - /* Mouse wheel scroll down */ + clientDecOpacity(c); + + /* Mouse wheel scroll down if (FLAG_TEST (c->flags, CLIENT_FLAG_SHADED)) { clientUnshade (c); - } + }*/ } }