Using Mac OS on multiple monitor is great, but after removing external monitor (2nd monitor) usually windows position originally on the external monitor doesn't get re-positioned to default monitor. Is there any shortcut key or utilities that can reset window position for this kind of usage?
From my answer originally at Server Fault Question 7237:
When a monitor is unplugged (including the adapter as well if applicable - leaving the adapter leaves OS X thinking the monitor is still plugged in) all the Windows should move onto your main screen. Occasionally some windows (eg. Firefox) will keep their position on the very far right of the screen leaving you just enough room to grab the title bar and move it where you'd like to.
One method of arranging the Windows so you can see them (if for some reason they're staying off screen) is to change to the application that owns the window in question, hold the Option key down and choose "Arrange in Front" from the Window menu. It will then arrange all the windows of that application in a cascade from the top left of the screen.
SEcondly, there are several AppleScripts available (eg. this one at Snipplr) that will also grab every window off screen and move it on screen for you.
There is also a nifty shareware app called Stay that will help automate a lot of this for you, while there is also ControlPlane which will do much more than just notice if a monitor is disconnected and allows you to run scripts (in case you want to do more than just rearrange the windows). ControlPlane is free, but doesn't have any direct mechanism for moving windows (you have to attach it to one of the aforementioned AppleScripts).
None of these worked, then I read about a trick to delete the plist file. That deleted everything including my registration for the app I was trying to gather the main window, which was open, when I last closed it.
Then I tried the following and succeeded: I changed the key MainWindowFrame to s.th. below my screen resolution, in my case:
<key>MainWindowFrame</key> <array> <integer>**2237**</integer> <integer>474</integer> <integer>834</integer> <integer>704</integer> </array>
<key>MainWindowFrame</key> <array> <integer>**1000**</integer> <integer>474</integer> <integer>834</integer> <integer>704</integer> </array>
That finally did the trick!!!
I had a similar query for a friend that uses an external monitor with a Macbook, and he suggested SizeUp. I haven't looked into it yet, but it may be what you're after.
I once had a weird case where I can only see the application window when switching between spaces. I knew it's somewhere to the left of the screen; I tried many methods described here with no avail.
Eventually, I rearranged my main and external display in display preference so that on is to the upper left of the other, and eventually the window showed up.
When you run multiple displays of different resolutions on Mac, Mac appears to "pretend" that all of the monitors actually have the same vertical resolution by creating "virtual" display realestate to fill in the gaps between each of the smaller displays and the largest display. For example, I have a macbook pro and a 27" Cinema display.
I run my Cinema display at its native resolution, 2560x1440, and the my macbook at the far-right, "more space" setting (it's smaller than 1440, but it doesn't tell me exactly what it is). Because of how I have my monitor and laptop situated on my desk, I use the "arrangement" tab in system preferences to align the bottom edge of the displays. When I do this, there is a section above the macbook screen that is shown as blank or empty in the arrangement window.
HOWEVER, I discovered that if I rearranged things such that the top edges of my displays were aligned, my missing application window was quietly waiting for me at the top-left of the laptop monitor space, thinking it was on-screen and visible the whole time. From there, I discovered that by moving my laptop screen back down to align with the external monitor at the bottom, the system was kind enough to force the now hidden window to the top left of my Cinema display.
I keep the displays preference in the menu bar (there's an option in the displays preference for this). Then whenever the monitor arrangement changes and OS X doesn't detect it you can click here and choose 'Detect Displays'.
Alternatively you could script that action in Automator and assign it a shortcut key yourself. See this link for more information
I had the same issue when using Pixelmator and having some windows off screen when trying to use it the day after I had been using it at home with my laptop connected to a monitor. Simply go into your displays, set your res to something lower, click the 'gather windows' button and then set your res back to normal and you should see all your Pixelmator (or whatever application) windows.