X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.cc;h=d42a962a8f9bcca3f05a212a4633f9b557c08394;hb=6e2f3f9f8a2b4b83648c9c8b9993d321b3f60a79;hp=43c35ca8de784d69e0e36c8bd41568128c9b2396;hpb=1da8531a7b4eea22592b6d0760352d2a34e9b6b0;p=chaz%2Fopenbox diff --git a/src/client.cc b/src/client.cc index 43c35ca8..d42a962a 100644 --- a/src/client.cc +++ b/src/client.cc @@ -47,21 +47,19 @@ Client::Client(int screen, Window window) _urgent = false; _positioned = false; _disabled_decorations = 0; - _modal = false; _modal_child = 0; _group = None; _desktop = 0; getArea(); getDesktop(); + getState(); // do this before updateTransientFor! (for _modal) + getShaped(); updateTransientFor(); getMwmHints(); getType(); // this can change the mwmhints for special cases - getState(); - getShaped(); - updateProtocols(); getGravity(); // get the attribute gravity @@ -1094,9 +1092,16 @@ void Client::clientMessageHandler(const XClientMessageEvent &e) setDesktop(openbox->screen(_screen)->desktop()); if (_shaded) shade(false); - // XXX: deiconify focus(); openbox->screen(_screen)->raiseWindow(this); + } else if (e.message_type == otk::Property::atoms.openbox_active_window) { + if (_iconic) + setDesktop(openbox->screen(_screen)->desktop()); + if (e.data.l[0] && _shaded) + shade(false); + focus(); + if (e.data.l[1]) + openbox->screen(_screen)->raiseWindow(this); } } @@ -1616,7 +1621,6 @@ void Client::installColormap(bool install) const { XWindowAttributes wa; if (XGetWindowAttributes(**otk::display, _window, &wa)) { - printf("%snstalling Window Colormap 0x%lx!\n", install ? "I" : "Uni", _window); if (install) XInstallColormap(**otk::display, wa.colormap); else