diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-12-27 08:52:16 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-12-27 08:52:16 +0000 |
| commit | cb718e2ad931928389ab95cc71564ea8358e92fd (patch) | |
| tree | f9cde6a943b7118997f8f4702789ffb10f8cac41 /src/client.cc | |
| parent | c645416035d64cc959d1dd0e937b31b07489e54b (diff) | |
handle reparent events..hopefully :>
Diffstat (limited to 'src/client.cc')
| -rw-r--r-- | src/client.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/client.cc b/src/client.cc index 38364432..2461eff9 100644 --- a/src/client.cc +++ b/src/client.cc @@ -1002,4 +1002,26 @@ void OBClient::destroyHandler(const XDestroyWindowEvent &e) } +void OBClient::reparentHandler(const XReparentEvent &e) +{ +#ifdef DEBUG + printf("ReparentNotify for 0x%lx\n", e.window); +#endif // DEBUG + + OtkEventHandler::reparentHandler(e); + + // this is when the client is first taken captive in the frame + if (e.parent == frame->plate()) return; + + /* + This event is quite rare and is usually handled in unmapHandler. + However, if the window is unmapped when the reparent event occurs, + the window manager never sees it because an unmap event is not sent + to an already unmapped window. + */ + + // this deletes us etc + Openbox::instance->screen(_screen)->unmanageWindow(this); +} + } |
