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::updateStrut()
{
+ otk::Strut old = _strut;
_strut.left = _strut.right = _strut.top = _strut.bottom = 0;
Client::List::iterator it, end = clients.end();
_strut.bottom = std::max(_strut.bottom, s.bottom);
}
calcArea();
+
+ if (!(old == _strut)) {
+ // the strut has changed, adjust all the maximized windows
+ for (it = clients.begin(); it != end; ++it)
+ (*it)->remaximize();
+ }
}
// 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);