'Reduce the size of a client
Will only shrink the client until it reaches the configured minimum
size. Any amount that was prevented in the resize is returned.'

def shrink(self, cidx, amt):

    margin = self.get_shrink_margin(cidx)
    if (amt > margin):
        self.relative_sizes[cidx] -= self._get_relative_size_from_absolute(margin)
        return (amt - margin)
    else:
        self.relative_sizes[cidx] -= self._get_relative_size_from_absolute(amt)
        return 0
