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);