X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fscreen.cc;h=6c1551b5153dd0ef0990b7992859441895656c1a;hb=5face4c6f35172761367f63ac0b6eaf62d84e532;hp=6525150bc478e4af53ea5cc07cde2908c5f835d2;hpb=8d4fe416e5d940670df7b974a004ac041e21196f;p=chaz%2Fopenbox diff --git a/src/screen.cc b/src/screen.cc index 6525150b..6c1551b5 100644 --- a/src/screen.cc +++ b/src/screen.cc @@ -134,7 +134,7 @@ Screen::Screen(int screen) openbox->registerHandler(_info->rootWindow(), this); // call the python Startup callbacks - EventData data(_number, 0, EventShutdown, 0); + EventData data(_number, 0, EventAction::Shutdown, 0); openbox->bindings()->fireEvent(&data); } @@ -150,7 +150,7 @@ Screen::~Screen() unmanageWindow(clients.front()); // call the python Shutdown callbacks - EventData data(_number, 0, EventShutdown, 0); + EventData data(_number, 0, EventAction::Shutdown, 0); openbox->bindings()->fireEvent(&data); XDestroyWindow(**otk::display, _focuswindow); @@ -261,7 +261,7 @@ void Screen::calcArea() #endif // XINERAMA */ - if (old_area != _area) + //if (old_area != _area) // XXX: re-maximize windows changeWorkArea(); @@ -498,7 +498,7 @@ void Screen::manageWindow(Window window) client->positionRequested())) { // position the window intelligenty .. hopefully :) // call the python PLACEWINDOW binding - EventData data(_number, client, EventPlaceWindow, 0); + EventData data(_number, client, EventAction::PlaceWindow, 0); openbox->bindings()->fireEvent(&data); } @@ -523,11 +523,12 @@ void Screen::manageWindow(Window window) openbox->bindings()->grabButtons(true, client); // call the python NEWWINDOW binding - EventData data(_number, client, EventNewWindow, 0); + EventData data(_number, client, EventAction::NewWindow, 0); openbox->bindings()->fireEvent(&data); #ifdef DEBUG - printf("Managed window 0x%lx\n", window); + printf("Managed window 0x%lx frame 0x%lx\n", + window, client->frame->window()); #endif } @@ -537,7 +538,7 @@ void Screen::unmanageWindow(Client *client) Frame *frame = client->frame; // call the python CLOSEWINDOW binding - EventData data(_number, client, EventCloseWindow, 0); + EventData data(_number, client, EventAction::CloseWindow, 0); openbox->bindings()->fireEvent(&data); openbox->bindings()->grabButtons(false, client); @@ -572,6 +573,9 @@ void Screen::unmanageWindow(Client *client) // reparent the window out of the frame frame->releaseClient(); +#ifdef DEBUG + Window framewin = client->frame->window(); +#endif delete client->frame; client->frame = 0; @@ -585,7 +589,7 @@ void Screen::unmanageWindow(Client *client) client->unfocus(); #ifdef DEBUG - printf("Unmanaged window 0x%lx\n", client->window()); + printf("Unmanaged window 0x%lx frame 0x%lx\n", client->window(), framewin); #endif delete client; @@ -771,7 +775,13 @@ void Screen::mapRequestHandler(const XMapRequestEvent &e) printf("MapRequest for 0x%lx\n", e.window); #endif // DEBUG - manageWindow(e.window); + Client *c = openbox->findClient(e.window); + if (c) { +#ifdef DEBUG + printf("DEBUG: MAP REQUEST CAUGHT IN SCREEN. IGNORED.\n"); +#endif + } else + manageWindow(e.window); } }