X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fframe.cc;h=ac631d01fb68b80fa7dc6a0238b6819678fcb1b0;hb=f11bd1b0cc5973590d1ee547736ac00f50447efa;hp=55a0cec0db00bc5c119e580ba838195aa5639cef;hpb=e5eb783aa22440625d497a07fa079cae93bdaa86;p=chaz%2Fopenbox diff --git a/src/frame.cc b/src/frame.cc index 55a0cec0..ac631d01 100644 --- a/src/frame.cc +++ b/src/frame.cc @@ -56,14 +56,11 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style) otk::OtkWidget::unfocus(); // stuff starts out appearing focused in otk _plate.show(); // the other stuff is shown based on decor settings - - grabClient(); } OBFrame::~OBFrame() { - releaseClient(); } @@ -432,23 +429,13 @@ void OBFrame::grabClient() void OBFrame::releaseClient() { - // check if the app has already reparented its window to the root window - XEvent ev; - if (XCheckTypedWindowEvent(otk::OBDisplay::display, _client->window(), - ReparentNotify, &ev)) { - // XXX: ob2/bb didn't do this.. look up this process in other wm's! - //XPutBackEvent(otk::OBDisplay::display, &ev); - XMapWindow(otk::OBDisplay::display, _client->window()); - } else { - // according to the ICCCM - if the client doesn't reparent to - // root, then we have to do it for them - XReparentWindow(otk::OBDisplay::display, _client->window(), - _screen->rootWindow(), - _client->area().x(), _client->area().y()); - } - - // do an extra map here .. ? XXX -// XMapWindow(otk::OBDisplay::display, _client->window()); + // XXX: check for a reparent before reparenting? + + // according to the ICCCM - if the client doesn't reparent to + // root, then we have to do it for them + XReparentWindow(otk::OBDisplay::display, _client->window(), + _screen->rootWindow(), + _client->area().x(), _client->area().y()); }