When yousetFrame:
for a window, you have to account for the height of the title bar. In the Classic days it was 16 pixels. In Aqua-land, it's currently 22 pixels. But that's not safe to use, so try this instead:- (float) titleBarHeight { NSRect frame = NSMakeRect (0, 0, 100, 100); NSRect contentRect; contentRect = [NSWindow contentRectForFrameRect: frame styleMask: NSTitledWindowMask]; return (frame.size.height - contentRect.size.height); } // titleBarHeightRainer Brockerhoff points out that this might miss any system-suppled window decorations at the bottom of the window. There aren't any now, but Mac OS X 10.37 Sabertooth might, so you may want to take into account the y positions of the original rectangle and the newly calculated content rect.