diff -ur xfwm4-4.1.99.2/src/client.c xfwm4-4.1.99.2.h/src/client.c --- xfwm4-4.1.99.2/src/client.c 2004-12-12 10:42:38.000000000 +0100 +++ xfwm4-4.1.99.2.h/src/client.c 2005-01-09 21:39:39.730531145 +0100 @@ -2309,6 +2309,39 @@ } 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 > 0x10000000 ) + { + c->opacity -= 0x08000000; + 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 += 0x08000000; + compositorWindowSetOpacity (display_info, c->frame, c->opacity); + } + else + { + c->opacity = NET_WM_OPAQUE; + compositorWindowSetOpacity (display_info, c->frame, c->opacity); + } +} + +void clientShade (Client * c) { XWindowChanges wc; Nur in xfwm4-4.1.99.2/src: client.c~. diff -ur xfwm4-4.1.99.2/src/compositor.c xfwm4-4.1.99.2.h/src/compositor.c --- xfwm4-4.1.99.2/src/compositor.c 2004-12-12 12:53:55.000000000 +0100 +++ xfwm4-4.1.99.2.h/src/compositor.c 2005-01-09 22:07:31.990176825 +0100 @@ -754,7 +754,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, Nur in xfwm4-4.1.99.2/src: compositor.c~. diff -ur xfwm4-4.1.99.2/src/events.c xfwm4-4.1.99.2.h/src/events.c --- xfwm4-4.1.99.2/src/events.c 2004-12-11 17:41:06.000000000 +0100 +++ xfwm4-4.1.99.2.h/src/events.c 2005-01-09 20:57:43.900252399 +0100 @@ -770,19 +770,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); - } + }*/ } }