X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.cc;h=a6990a8db5d792d5bafc62b5c6977d808222d569;hb=fdb4e652f7b196eacc4f942d403910400087ce2a;hp=2bb157806bce3ac5d26980e48958d68ea245bfab;hpb=aef2ab758da67369e365c8d59c6242fa58b9e5b2;p=chaz%2Fopenbox diff --git a/src/client.cc b/src/client.cc index 2bb15780..a6990a8d 100644 --- a/src/client.cc +++ b/src/client.cc @@ -264,9 +264,10 @@ void OBClient::getState() if (state[i] == property->atom(otk::OBProperty::net_wm_state_modal)) _modal = true; else if (state[i] == - property->atom(otk::OBProperty::net_wm_state_shaded)) + property->atom(otk::OBProperty::net_wm_state_shaded)) { _shaded = true; - else if (state[i] == + _wmstate = IconicState; + } else if (state[i] == property->atom(otk::OBProperty::net_wm_state_skip_taskbar)) _skip_taskbar = true; else if (state[i] == @@ -1120,13 +1121,13 @@ void OBClient::configureRequestHandler(const XConfigureRequestEvent &e) switch (e.detail) { case Below: case BottomIf: - // XXX: lower the window + Openbox::instance->screen(_screen)->restack(false, this); // lower break; case Above: case TopIf: default: - // XXX: raise the window + Openbox::instance->screen(_screen)->restack(true, this); // raise break; } } @@ -1186,4 +1187,17 @@ void OBClient::reparentHandler(const XReparentEvent &e) Openbox::instance->screen(_screen)->unmanageWindow(this); } + +void OBClient::mapRequestHandler(const XMapRequestEvent &e) +{ + printf("\nMAP REQUEST\n\n"); + + otk::OtkEventHandler::mapRequestHandler(e); + + if (_shaded) + shade(false); + // XXX: uniconify the window + focus(); +} + }