'Shrink the window up
Will shrink all secondary clients above the specified index in order.
Each client will attempt to shrink as much as it is able before the
next client is resized.
Any amount that was unable to be applied to the clients is returned.'

def shrink_up(self, cidx, amt):

    left = amt
    for idx in range(0, cidx):
        left -= (left - self.shrink(idx, left))
    return left
