Compositor Shadows

Brian brian-schott at cox.net
Mon Apr 24 12:22:02 CEST 2006


Hello,

    I found a bug in xfwm4's compositor in January last year that has to 
do with the settings file parsing. I submitted a bug report for it 
(Satan's bug, #666) but nothing really happened. I'd like for someone 
with write access to the subversion repository to change a few lines in 
xfwm4/src/settings.c:

Old code (lines 905-912):

    screen_info->params->shadow_delta_x =
        ABS (TOINT (getValue ("shadow_delta_x", rc)));
    screen_info->params->shadow_delta_y =
        ABS (TOINT (getValue ("shadow_delta_y", rc)));
    screen_info->params->shadow_delta_width =
        ABS (TOINT (getValue ("shadow_delta_width", rc)));
    screen_info->params->shadow_delta_height =
        ABS (TOINT (getValue ("shadow_delta_height", rc)));

New code:

    screen_info->params->shadow_delta_x =
        TOINT (getValue ("shadow_delta_x", rc));
    screen_info->params->shadow_delta_y =
        TOINT (getValue ("shadow_delta_y", rc));
    screen_info->params->shadow_delta_width =
        TOINT (getValue ("shadow_delta_width", rc));
    screen_info->params->shadow_delta_height =
        TOINT (getValue ("shadow_delta_height", rc));

The settings here have to do with the shadow geometry. When the settings 
are passed in to the ABS function/macro, they turn out only being able 
to shrink the shadows behind the windows. By allowing negative values, 
the shadows can extend farther past the edge of the window. I use:

shadow_delta_x=0
shadow_delta_y=0
shadow_delta_width=-2
shadow_delta_height=-6

This makes the shadows narrow on the top and wide on the bottom. Please 
fix this before 4.4.

Thanks,
    Brian Schott



More information about the Xfce4-dev mailing list