Bug 53649 [Workbench] Minimized views should yield real estate
Consider opening Java perspective with: 1. package explorer on the left (as usual) 2. an editor and the problems view stacked on top of each other on the right (as usual) If you 'minimize' the problems view, the editor gets the real estate previously occupied by it. If you 'minimize' the package explorer, it collapses into its title bar but the editor or problems view does not get anything out of it. All you see is a gray panel on the left. It's only beneficial to minimize views if there is another view below it. It would be good if views always yield its previously occupied space to the rest of the workbench on minimize. It could give priority to open views vertically above/below it so that current behaviour is not lost :)
bundles/org.eclipse.jface/src/org/eclipse/jface/util/Geometry.java
* upper-left of the rectangle). Returns 0 if the point lies within the rectangle.
     * Positions are in screen coordinates (ie: a point is to the upper-left of the
     * rectangle if its x and y coordinates are smaller than any point in the rectangle)
     *  
     * @param boundary normalized boundary rectangle 
     * @param toTest point whose relative position to the rectangle is being computed
     * @return one of SWT.LEFT | SWT.TOP, SWT.TOP, SWT.RIGHT | SWT.TOP, SWT.LEFT, 0,
     * SWT.RIGHT, SWT.LEFT | SWT.BOTTOM, SWT.BOTTOM, SWT.RIGHT | SWT.BOTTOM
     * @since 3.0
     */
    public static int getRelativePosition(Rectangle boundary, Point toTest) {
        int result = 0;
        if (toTest.x < boundary.x) {
            result |= SWT.LEFT;
        } else if (toTest.x >= boundary.x + boundary.width) {
            result |= SWT.RIGHT;
        }
        if (toTest.y < boundary.y) {
            result |= SWT.TOP;
        } else if (toTest.y >= boundary.y + boundary.height) {
            result |= SWT.BOTTOM;
        }
        return result;
    }
    /**
     * Returns the edge of the given rectangle is closest to the given
     * point.
     * 
     * @param boundary rectangle to test
     * @param toTest point to compare