openbox->registerHandler(_info->rootWindow(), this);
// call the python Startup callbacks
- EventData data(_number, 0, EventAction::Shutdown, 0);
+ EventData data(_number, 0, EventAction::Startup, 0);
openbox->bindings()->fireEvent(&data);
}
void Screen::calcArea()
{
-// otk::Rect old_area = _area;
+ otk::Rect old_area = _area;
/*
#ifdef XINERAMA
}
#endif // XINERAMA
*/
-
- //if (old_area != _area)
- // XXX: re-maximize windows
+
+ if (old_area != _area) {
+ // the area has changed, adjust all the maximized windows
+ Client::List::iterator it, end = clients.end();
+ for (it = clients.begin(); it != end; ++it)
+ (*it)->remaximize();
+ }
changeWorkArea();
}
// reparent the client to the frame
client->frame->grabClient();
- if (!(openbox->state() == Openbox::State_Starting ||
- client->positionRequested())) {
+ if (openbox->state() != Openbox::State_Starting) {
// position the window intelligenty .. hopefully :)
// call the python PLACEWINDOW binding
EventData data(_number, client, EventAction::PlaceWindow, 0);