- double opacity = SHADOW_OPACITY;
- if (w->mode == WINDOW_TRANS)
- opacity = opacity * TRANS_OPACITY;
- w->shadow = shadow_picture (dpy, opacity, SHADOW_RADIUS,
- w->a.width, w->a.height,
- &w->shadow_width, &w->shadow_height);
- w->shadow_dx = SHADOW_OFFSET_X;
- w->shadow_dy = SHADOW_OFFSET_Y;
+ r.x = w->a.x;
+ r.y = w->a.y;
+ r.width = w->a.width + w->a.border_width * 2;
+ r.height = w->a.height + w->a.border_width * 2;
+ }
+ else
+ {
+ if (!w->shadow)
+ {
+ double opacity = SHADOW_OPACITY;
+ if (w->mode == WINDOW_TRANS)
+ opacity = opacity * TRANS_OPACITY;
+ w->shadow = shadow_picture (dpy, opacity, SHADOW_RADIUS,
+ w->a.width, w->a.height,
+ &w->shadow_width, &w->shadow_height);
+ w->shadow_dx = SHADOW_OFFSET_X;
+ w->shadow_dy = SHADOW_OFFSET_Y;
+ }
+ r.x = w->a.x + w->a.border_width + w->shadow_dx;
+ r.y = w->a.y + w->a.border_width + w->shadow_dy;
+ r.width = w->shadow_width;
+ r.height = w->shadow_height;