X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fframe.cc;h=20e81ebd192d928a034c03aefe81367228ed8fa2;hb=0da967a8313bad4a9dbcca9b5c760bda32b7981f;hp=b802889aac090b62b664a6f67d9bcc43d64354e3;hpb=e828f1404fbd9ee430cf6839024c5051866cbf3a;p=chaz%2Fopenbox diff --git a/src/frame.cc b/src/frame.cc index b802889a..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()); + //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(); } @@ -454,7 +447,6 @@ Window OBFrame::createChild(Window parent, Cursor cursor) Window w = XCreateWindow(otk::OBDisplay::display, parent, 0, 0, 1, 1, 0, _screen->getDepth(), InputOutput, _screen->getVisual(), create_mask, &attrib_create); - XRaiseWindow(otk::OBDisplay::display, w); // raise above the parent return w; }