summaryrefslogtreecommitdiff
path: root/src/client.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-12-04 01:04:31 +0000
committerDana Jansens <danakj@orodu.net>2002-12-04 01:04:31 +0000
commit9860b76c50e5ecacc85921539058eab4c655c38d (patch)
tree5587ac2eb155a2a22997132f4552ee979b29cfbb /src/client.cc
parent22bd294c7baed75a24b1df7cc423042c965acbdb (diff)
unmap works.. once
Diffstat (limited to 'src/client.cc')
-rw-r--r--src/client.cc31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/client.cc b/src/client.cc
index 0fd5787b..4fc8ef97 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -6,6 +6,7 @@
#include "client.hh"
#include "frame.hh"
+#include "screen.hh"
#include "bbscreen.hh"
#include "openbox.hh"
#include "otk/display.hh"
@@ -30,8 +31,6 @@ OBClient::OBClient(int screen, Window window)
assert(screen >= 0);
assert(window);
- Openbox::instance->registerHandler(_window, this);
-
ignore_unmaps = 0;
// update EVERYTHING the first time!!
@@ -772,6 +771,8 @@ void OBClient::move(int x, int y)
void OBClient::configureRequestHandler(const XConfigureRequestEvent &e)
{
+ OtkEventHandler::configureRequestHandler(e);
+
// XXX: if we are iconic (or shaded? (fvwm does that)) ignore the event
if (e.value_mask & CWBorderWidth)
@@ -825,4 +826,30 @@ void OBClient::configureRequestHandler(const XConfigureRequestEvent &e)
}
+void OBClient::unmapHandler(const XUnmapEvent &e)
+{
+#ifdef DEBUG
+ printf("UnmapNotify for 0x%lx\n", e.window);
+#endif // DEBUG
+
+ OtkEventHandler::unmapHandler(e);
+
+ // this deletes us etc
+ Openbox::instance->screen(_screen)->unmanageWindow(this);
+}
+
+
+void OBClient::destroyHandler(const XDestroyWindowEvent &e)
+{
+#ifdef DEBUG
+ printf("DestroyNotify for 0x%lx\n", e.window);
+#endif // DEBUG
+
+ OtkEventHandler::destroyHandler(e);
+
+ // this deletes us etc
+ Openbox::instance->screen(_screen)->unmanageWindow(this);
+}
+
+
}