+ GtkRequisition topsize = top_box.size_request ();
+ NSWindow* window = get_nswindow ();
+ NSSize oldContentSize= [window contentRectForFrameRect:[window frame]].size;
+ NSSize newContentSize= [au_view frame].size;
+ NSRect windowFrame= [window frame];
+
+ oldContentSize.height -= topsize.height;
+
+ float dy = oldContentSize.height - newContentSize.height;
+ float dx = oldContentSize.width - newContentSize.width;
+
+ windowFrame.origin.y += dy;
+ windowFrame.origin.x += dx;
+ windowFrame.size.height -= dy;
+ windowFrame.size.width -= dx;
+
+ [[NSNotificationCenter defaultCenter] removeObserver:_notify
+ name:NSViewFrameDidChangeNotification
+ object:au_view];
+
+ NSUInteger old_auto_resize = [au_view autoresizingMask];
+
+ [au_view setAutoresizingMask:NSViewNotSizable];
+ [window setFrame:windowFrame display:YES];
+ [au_view setAutoresizingMask:old_auto_resize];
+
+ [[NSNotificationCenter defaultCenter] addObserver:_notify
+ selector:@selector(auViewResized:) name:NSViewFrameDidChangeNotification
+ object:au_view];