all repos — openbox @ 9667f3a0e9d9c70e313db9930f00743992613033

openbox fork - make it a bit more like ryudo

fix shape.
a) it didnt work when it added shape after mapping
b) removing shape wouldnt have worked right either
Dana Jansens danakj@orodu.net
commit

9667f3a0e9d9c70e313db9930f00743992613033

parent

53b6f16b4601a3cdf2adca41fbae9c76a3b3c1f1

1 files changed, 17 insertions(+), 3 deletions(-)

jump to
M src/Window.ccsrc/Window.cc

@@ -1631,6 +1631,14 @@ XShapeCombineRectangles(blackbox->getXDisplay(), frame.window,

ShapeBounding, 0, 0, xrect, num, ShapeUnion, Unsorted); } + + +void BlackboxWindow::clearShape(void) { + XShapeCombineMask(blackbox->getXDisplay(), frame.window, ShapeBounding, + frame.margin.left - frame.border_w, + frame.margin.top - frame.border_w, + None, ShapeSet); +} #endif // SHAPE

@@ -3785,9 +3793,15 @@ }

#ifdef SHAPE -void BlackboxWindow::shapeEvent(XShapeEvent *) { - if (blackbox->hasShapeExtensions() && flags.shaped) { - configureShape(); +void BlackboxWindow::shapeEvent(XShapeEvent *e) { + if (blackbox->hasShapeExtensions()) { + if (! e->shaped && flags.shaped) { + clearShape(); + flags.shaped = False; + } else if (e->shaped) { + configureShape(); + flags.shaped = True; + } } } #endif // SHAPE