'if find_closest_screen can\'t determine one, we\'ve got multiple
screens, so figure out who is closer.  We\'ll calculate using
the square of the distance from the center of a screen.
Note that this could return None if x, y is right/below all
screens (shouldn\'t happen but we don\'t do anything about it
here other than returning None)'

def _find_closest_closest(self, x, y, candidate_screens):

    closest_distance = None
    closest_screen = None
    if (not candidate_screens):
        candidate_screens = self.screens
    candidate_screens = [s for s in candidate_screens if ((x < (s.x + s.width)) and (y < (s.y + s.height)))]
    for s in candidate_screens:
        middle_x = (s.x + (s.width / 2))
        middle_y = (s.y + (s.height / 2))
        distance = (((x - middle_x) ** 2) + ((y - middle_y) ** 2))
        if ((closest_distance is None) or (distance < closest_distance)):
            closest_distance = distance
            closest_screen = s
    return closest_screen
