]> Dogcows Code - chaz/openbox/blobdiff - src/xeventhandler.cc
move screen.cc/hh to bbscreen.cc/hh
[chaz/openbox] / src / xeventhandler.cc
index 3225fb460e76519dab824021f1bc261b2c3c0612..afa5eceeb4095923a28718fd67adf61a3dfd7bd2 100644 (file)
@@ -13,7 +13,7 @@
 
 // XXX: REMOVE THIS SOON!!#!
 #include "blackbox.hh"
-#include "screen.hh"
+#include "bbscreen.hh"
 
 extern "C" {
 #include <X11/Xlib.h>
@@ -156,16 +156,6 @@ void OBXEventHandler::manageWindow(int screen, Window window)
 
   // create the OBClient class, which gets all of the hints on the window
   Openbox::instance->addClient(window, client = new OBClient(screen, window));
-  // add all the client's decoration windows as event handlers for the client
-  Openbox::instance->addClient(client->frame->titlebar(), client);
-  Openbox::instance->addClient(client->frame->buttonIconify(), client);
-  Openbox::instance->addClient(client->frame->buttonMax(), client);
-  Openbox::instance->addClient(client->frame->buttonStick(), client);
-  Openbox::instance->addClient(client->frame->buttonClose(), client);
-  Openbox::instance->addClient(client->frame->label(), client);
-  Openbox::instance->addClient(client->frame->handle(), client);
-  Openbox::instance->addClient(client->frame->gripLeft(), client);
-  Openbox::instance->addClient(client->frame->gripRight(), client);
 
   // we dont want a border on the client
   XSetWindowBorderWidth(otk::OBDisplay::display, window, 0);
@@ -182,7 +172,20 @@ void OBXEventHandler::manageWindow(int screen, Window window)
   otk::Style *style = ((Blackbox*)Openbox::instance)->
     searchScreen(RootWindow(otk::OBDisplay::display, screen))->
     getWindowStyle();
+  // create the decoration frame for the client window
   client->frame = new OBFrame(client, style);
+
+  // add all the client's decoration windows as event handlers for the client
+  Openbox::instance->addClient(client->frame->window(), client);
+  Openbox::instance->addClient(client->frame->titlebar(), client);
+  Openbox::instance->addClient(client->frame->buttonIconify(), client);
+  Openbox::instance->addClient(client->frame->buttonMax(), client);
+  Openbox::instance->addClient(client->frame->buttonStick(), client);
+  Openbox::instance->addClient(client->frame->buttonClose(), client);
+  Openbox::instance->addClient(client->frame->label(), client);
+  Openbox::instance->addClient(client->frame->handle(), client);
+  Openbox::instance->addClient(client->frame->gripLeft(), client);
+  Openbox::instance->addClient(client->frame->gripRight(), client);
   
   // XXX: if on the current desktop..
   XMapWindow(otk::OBDisplay::display, client->frame->window());
@@ -212,6 +215,7 @@ void OBXEventHandler::unmanageWindow(OBClient *client)
   // remove the client class from the search list
   Openbox::instance->removeClient(client->window());
   // remove the frame's decor elements as event handlers for the client
+  Openbox::instance->removeClient(frame->window());
   Openbox::instance->removeClient(frame->titlebar());
   Openbox::instance->removeClient(frame->buttonIconify());
   Openbox::instance->removeClient(frame->buttonMax());
This page took 0.023329 seconds and 4 git commands to generate.