X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fframe.cc;h=20e81ebd192d928a034c03aefe81367228ed8fa2;hb=c4a1fac49da32250dc4567880b385feb7feaa908;hp=388dcea64a8451aa5f30955a851bee389e6cfdfd;hpb=e503323dcf36c7b4c173ddc0cd302b8642361f48;p=chaz%2Fopenbox diff --git a/src/frame.cc b/src/frame.cc index 388dcea6..20e81ebd 100644 --- a/src/frame.cc +++ b/src/frame.cc @@ -18,7 +18,7 @@ extern "C" { namespace ob { -OBFrame::OBFrame(const OBClient *client, const otk::Style *style) +OBFrame::OBFrame(OBClient *client, const otk::Style *style) : _client(client), _screen(otk::OBDisplay::screenInfo(client->screen())) { @@ -392,25 +392,18 @@ void OBFrame::updateShape() void OBFrame::grabClient() { - XGrabServer(otk::OBDisplay::display); - // select the event mask on the frame - XSelectInput(otk::OBDisplay::display, _window, SubstructureRedirectMask); + //XSelectInput(otk::OBDisplay::display, _window, SubstructureRedirectMask); // reparent the client to the frame - XSelectInput(otk::OBDisplay::display, _client->window(), - OBClient::event_mask & ~StructureNotifyMask); XReparentWindow(otk::OBDisplay::display, _client->window(), _window, 0, 0); - XSelectInput(otk::OBDisplay::display, _client->window(), - OBClient::event_mask); + _client->ignore_unmaps++; // raise the client above the frame //XRaiseWindow(otk::OBDisplay::display, _client->window()); // map the client so it maps when the frame does XMapWindow(otk::OBDisplay::display, _client->window()); - XUngrabServer(otk::OBDisplay::display); - update(); }