Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

It seems that Mac OS X 10.6.1 Snow Leopard has a tendency to leave some windows off-screen at times, especially when I disconnect an external monitor from my MacBook. How can I move the window back on-screen when it's not possible to grab the title bar and drag it back onto the screen?

XvsXP.com recommends adjusting your screen resolution downward to have off-screen windows "snap back into view" and then adjust your screen resolution back to its original setting. In OS X 10.4 Tiger, I had a script that brought all off-screen windows back on-screen, but in my upgrades to Leopard and now Snow Leopard, I don't seem to have that script.

Any better solutions out there?

share|improve this question
    
You may want to check out a very similar question: Reset Mac OS X Windows Position after de-attaching external monitor –  Chealion Oct 14 '09 at 17:19
    
I've found that deleting the offending reference items from Interface Builder's plist sometimes helps. I've even tried to set the window's position via AppleScript with no luck. –  user46323 Aug 16 '10 at 5:28
    
If you are willing to look at third party apps then Optimal Layout, an app I developed, offers keyboard commands for controlling and organizing app windows: most-advantageous.com/optimal-layout –  Benedict Lowndes Aug 16 '10 at 7:20

14 Answers 14

This method seems to work: click on the Window menu, then click Zoom

share|improve this answer
1  
For the first time in months, I just ran into this problem with Parallels. Unfortunately, they don't have a zoom menu option under the Window menu. –  Matthew Rankin Jan 15 '10 at 15:25
    
The next answer should work for all applications. –  James Robinson Sep 8 '13 at 20:35
    
Zoom didn't work for me. Now the window is just bigger, but still not where I can reach it. –  bugloaf Mar 18 at 3:35
    
Great solution, except Photoshop has it's own non-standard implementation of the Window menu, and has no zoom option. Bloody Adobe. –  Rory McCrossan Jul 9 at 6:22
    
how is this not the accepted answer already? –  Esteban Aug 21 at 6:04

Haven't read trough the whole tread but the easiest way I found was to change the resolution of the sceen:

Go to System preferences » Displays and then change the resolution.

This will force your computer to render the display again and reposition all open windows. Then just switch it back to your original resolution settings and everything should be back in to place.

share|improve this answer
1  
In my case, the app (xScope) didn't have a Zoom option, and my new Mountain Lion build wasn't showing a "detect displays" function, so this tip worked perfectly. Thanks! –  Jon Aug 5 '12 at 16:07
    
+1 worked for me too. (On Lion trying to get the iPhone Simulator window). Zoom was disabled for this app. What makes this easier is having the Displays button in the menu bar (System Preferences->Displays->Show displays in menu bar) - this way you can quickly change resolution or detect displays –  Rhubarb Oct 12 '12 at 16:54
    
Worked great. Thanks. –  rfay Nov 14 '12 at 18:26
    
Also worked with Virtual Box, which was full screen in another (non-existent) display. I didn't have a menu bar at all. Thanks. –  mwilson Oct 4 '13 at 13:44
    
Didn't work for me. I resized the display, but the window is still sitting out of reach. I can see it in Mission Control, but I can't touch it, so maddening! –  bugloaf Mar 18 at 3:37

Some windows can be moved by for example dragging them horizontally from the bottom edge.

You could also try running scripts like this in AppleScript Editor:

tell application "iTunes"
    set bounds of windows to {100, 100, 800, 800}
end tell
tell application "System Events" to tell window 1 of process "UltraEdit"
    set position to {100, 100}
    set size to {800, 800}
end tell
share|improve this answer
    
this does not work with e.g. UltaEdit - there is an error message that the bounds can not be set. Also the syntax seems to be "set the bounds of the first window to ..." –  Wolfgang Fahl Oct 31 '13 at 6:54
1  
@WolfgangFahl set bounds of windows to is also correct syntax, but I edited the answer to add a second script that worked for me with UltraEdit. –  ؘؘؘ Oct 31 '13 at 11:38
    
thankx a million –  Wolfgang Fahl Nov 1 '13 at 11:14
2  
Amazing. Thanks. Everything else failed on Mavericks –  concept47 Apr 17 at 22:35
    
This worked for X-Lite when everything else failed. There was no "Zoom" in X-Lite and changing the display scale didn't work since X-LIte was on another display entirely. –  David W. Jun 27 at 14:20

None of the above worked for me, but I managed a fix by changing:

  • System Preferences
  • Hardware
  • Displays

Then go to the 'Arrangement' 'tab' and drag the external window on top of the internal one (instead of side-by-side).

share|improve this answer
2  
ahaha, that worked, but its really lame thats the only way to fix it!! –  Dr. Andrew Burnett-Thompson Mar 26 '13 at 22:45
    
This worked for me. I was able to drag the monitor around until I could see the window. –  bugloaf Mar 18 at 3:43

I had this problem with Parallels desktop 6 in OS X Lion, whereby the VM's actual window was hidden off-screen, and only visible in Mission control, and when you swiped between spaces.

So for those with the same problem, and hopefully this is applicable elsewhere: The solution is to right click on the Application's icon in the Dock, then go to the 'Options' menu item, and under 'Assign To' choose 'This Desktop'. That should move the app window back on to the current desktop. Still preferred the old spaces pref pane for this sort of thing - much faster.

Hope that helps those stumbling upon this post, with the same problem with Parallels (as I did)

Note that on Lion, there is no Assign To option in this position.

share|improve this answer

Three ideas:

  • CmdF1 (or CmdfnF1 if you've configured your MacBook's keyboard to use normal function keys) toggles your displays between mirror mode and extended desktop. A side effect is that windows get moved around somewhat unpredictably. This might move the missing window to somewhere visible. This likely requires the external monitor to be connected though.

  • Turn on Spaces, hit the hot key to displays the spaces overview and see if your missing window outline is visible there. If so, drag it to where you want it to be.

  • Quit the application and relaunch. Definitely a non-ideal solution and not practical if there's unsaved work.

share|improve this answer
    
Toggling between mirror mode and extended desktop didn't work. I decided to quit Parallels, which brought up a dialog box prior to quitting. With the dialog box up, I moved the Parallels window back on screen and then selected "Cancel" from the "Are you sure you want to quit?" dialog box. Still wish there were a better way. –  Matthew Rankin Jan 15 '10 at 15:30

None of the above methods worked for me on OSX 10.7.4. I was trying to access KeePassX, which was completely off the screen. (I had moved it to a second display at home, but was now at the office, with no second display.)

Changing resolution back and forth had no effect. Closing the app and opening it up again, had no effect.

However, when I closed the database, and asked to open a new one, it moved the window so I could access the dropdown to select a file. (yay!)

share|improve this answer

The position of the views are saved in the nib files themselves. The way I fixed this was to make a change to the View and then saved it. Shut down Interface Builder and started it again. My window and view where gathered back to the main screen. I have to say that I tried all the options before doing this. That is the Zoom, deleting the .plist from Library/Preferences, F8, Gather Windows... None of those worked. I hope this helps.

share|improve this answer

Go to System Preferences » Displays » Detect Displays.

It will force the system to rescan, and detect the missing monitor... That typically solves the problem when I run into it.

Also, if that doesn't work, and your system still believes that the monitor is connected try two things:

  1. If you have the cable still connected (but unconnected to a monitor), disconnect it.
  2. On the arrangement tab on the displays panel, try "Gather Windows". That should gather all the windows to the active / primary monitor.
share|improve this answer
    
I tried using Detect Displays and that didn't work. I didn't try the "Gather Windows" option, but I will next time. –  Matthew Rankin Jan 15 '10 at 15:28

The WindowZoom method is interesting and likely what I'd use if not for Moom. It lets you set up hotkeys for repositioning and resizing windows. I have a 9 cell grid (altoption1-9) as well as left/right halves and a few others.

The Moom default for centerring and expanding a window is controlshiftz then space - I changed this to altz. Super useful for screencasts too as you have much greater control over window positioning.

share|improve this answer

If you still have an external display hooked up, or are reconnecting the external display, and at that point have the window offscreen and unmanagable, it is possible to right-click the icon for that application in the dock and force the window to snap to the other display.

See image: http://i.imgur.com/ao5bKOM.png

This will allow you to adjust the window position without the need to modify the resolution of displays or open the system preferences tab. Still not as easy as an MS Windows solution, but definitely easier than going through all of the rest of that hassle.

Hope this helps!

share|improve this answer

For extreme cases, like I'm encountering with Interface Builder, you can try re-connecting your second monitor, finding that missing window and then dragging it back to the primary display.

Now, to check your work, quit the program and then re-launch it ensure that all of the desired windows are living on your primary display.

Now, disconnect the second monitor - things should be ok.

share|improve this answer

I recently had this problem in Mac Powerpoint where the main program window was on screen but the toolbox window was off screen. Zooming and changing resolution did not work.

Quitting and restarting PowerPoint fixed the problem.

share|improve this answer

In my situation, the window disappeared on Mavericks after I unplugged one of my external monitors. I still had another external monitor plugged into my MacBook Pro, while the windows moved from the unplugged external were shifted to my built-in display. One window for Chrome was well outside the actual display, but with the way screens and "Spaces" work in Mavericks no part of it showed on the other displays.

The easiest way I have found is to open Exposé (either by pressing F9 if you have re-enabled that keyboard shortcut, or by swiping up with three or four fingers depending on your configuration) and drag the missing window from one monitor to another. This will cause OS X to position the window within the bounds of the new monitor automatically, and it will be visible again.

share|improve this answer

protected by Community Sep 24 '12 at 11:07

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.