Prevent saveWindowState and loadWindowState from setting a frame that's not visible on the main screen. Add command to Window menu to reset window size to the default.