if((windowResized || windowMoved) && moveChildren)
{
- //Window child;
+ Window child;
desktop.Position(x, y, w, h, true, true, true, true, false, false);
+
+ // Maximized native decorations windows suffer when we drag the dock around, so remaximize them
+ // It's a little jumpy, but oh well.
+ for(child = desktop.children.first; child; child = child.next)
+ {
+ if(child.nativeDecorations && child.rootWindow == child && child.state == maximized)
+ {
+ child.state = normal;
+ child.state = maximized;
+ }
+ }
/*for(child = desktop.children.first; child; child = child.next)
{
if(!child.systemParent)
placement.length = sizeof(WINDOWPLACEMENT);
GetWindowRect(windowHandle, &rcWindow);
GetWindowPlacement(windowHandle, &placement);
- x = rcWindow.left;
- y = rcWindow.top;
+
+ x = rcWindow.left - desktopX;
+ y = rcWindow.top - desktopY;
w = rcWindow.right - rcWindow.left;
h = rcWindow.bottom - rcWindow.top;
else if(wParam == SIZE_RESTORED && window.state != normal && window.visible)
window.state = normal;
- x = rcWindow.left;
- y = rcWindow.top;
+ x = rcWindow.left - desktopX;
+ y = rcWindow.top - desktopY;
w = rcWindow.right - rcWindow.left;
h = rcWindow.bottom - rcWindow.top;