Order minimized window off screen and keep it in Windows menu for restore. Enable minimize button for miniaturizable windows.
* CPWindow.j:
- Order window out with attached sheet and visible child windows on miniaturize:; keep first responder and child windows for restore; ignore miniaturize: on minimized window.
- Restore window, first responder and child windows when window orders front; post CPWindowDidDeminiaturizeNotification after restore.
- Restore minimized window through makeKeyAndOrderFront: in deminiaturize:.
- Remove calls to platform window's miniaturize: and deminiaturize:.
- Minimize through performMiniaturize: only when window can minimize; enable performMiniaturize: and miniaturize: menu items under same condition.
* _CPStandardWindowView.j: Enable minimize button for miniaturizable windows and target window's miniaturize:.
* CPWindowTest.j: Add tests for restore, notification order, first responder restore, performMiniaturize: on non-miniaturizable window, minimize button action and menu validation.
* CPApplicationWindowsMenuTest.j: Add tests for minimized window listed in mixed state and restored from Windows menu.
* DropInCompatibilityTest.j: Replace test for minimize button never enabled with test for minimize button enabled only for miniaturizable windows.