Move an off-screen window back on-screen on Mac OS X

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?


Solution 1:

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

Solution 2:

Haven't read through the whole thread but the easiest way I found was to change the resolution of the screen:

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 place.

Solution 3:

If you can see a portion of the window, hold down the Option key and then click on one of the borders of the window. This will allow you to drag the window into full view.

Solution 4:

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.

Solution 5:

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