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
case SWT.RIGHT:
            return rectangle.x + rectangle.width - testPoint.x;
        }
        return 0;
    }
    /**
     * Extrudes the given edge inward by the given distance. That is, if one side of the rectangle
     * was sliced off with a given thickness, this returns the rectangle that forms the slice. Note
     * that the returned rectangle will be inside the given rectangle if size > 0.
     * 
     * @param toExtrude the rectangle to extrude. The resulting rectangle will share three sides
     * with this rectangle.
     * @param size distance to extrude. A negative size will extrude outwards (that is, the resulting
     * rectangle will overlap the original iff this is positive). 
     * @param orientation the side to extrude.  One of SWT.LEFT, SWT.RIGHT, SWT.TOP, or SWT.BOTTOM. The 
     * resulting rectangle will always share this side with the original rectangle.
     * @return a rectangle formed by extruding the given side of the rectangle by the given distance.
     * @since 3.0
     */
    public static Rectangle getExtrudedEdge(Rectangle toExtrude, int size,
            int orientation) {
        Rectangle bounds = new Rectangle(toExtrude.x, toExtrude.y,
                toExtrude.width, toExtrude.height);
        if (!isHorizontal(orientation)) {
            bounds.width = size;
        } else {
            bounds.height = size;
        }
        switch (orientation) {
        case SWT.RIGHT: