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);
}
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);
#endif // XINERAMA
*/
- if (old_area != _area)
+ //if (old_area != _area)
// XXX: re-maximize windows
changeWorkArea();
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);
}
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
}
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);
// reparent the window out of the frame
frame->releaseClient();
+#ifdef DEBUG
+ Window framewin = client->frame->window();
+#endif
delete client->frame;
client->frame = 0;
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;
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);
}
}