Restoring window configuration for monitor setups
I would like to achieve the same effect as is described in this question, which doesn't seem to have a suitable answer.
I develop on a macbook pro. Often I use it on its own, but sometimes I connect it to an external display (of various sizes).
When I connect to an external display, all of my applications move to that display as it is plugged in. I then need to move most of them back on to the smaller (built in) display by hand and resize them to the smaller screen: I generally only have my development environment and terminals running on the larger display.
When I disconnect from the external display, all my Apps move back on to the built in display, but aren't resized.
The behaviour I would like (or a close approximation):
- When I connect an external display, the OS remembers the window layout from the last time this display was used and restores it.
- When I disconnect the display, the OS remembers the layout I had in the disconnected state and restores that.
- When I connect a new display, nothing happens. The OS leaves it to me to move windows on to it that I want to be there.
I note that the OS seems to know connected monitors by name, so it should be possible to have the configuration be specific to the particular monitor that I have plugged in.
If there are no existing Apps that support this, I'd love any leads on the APIs I should be looking at that will let me develop an App to do this.
I'm currently using Mavericks, but I'll probably upgrade to Yosemite fairly soon.
Thanks.
Solution 1:
The App "Stay" that I discovered today does this extremely nicely.
Thanks to this answer on the Super User S.E. for the link.
Solution 2:
I recommend Display Maid 2. It is the only app that worked for me.