My machine is a late 2012 rMBP which happily powers two displays at home and two different displays at my office in what is essentially the same arrangement. My laptop is on the right with the two additional displays to the left. I consistently plug the same monitors into the same ports.

The problem that I always have is the desktops appear on different monitors depending on my location. Example:

At home, I open Google Chrome and put it in full screen mode on my leftmost display. I open iTerm and put it in full screen on my middle display. I open Mail and put it in full screen mode on my laptop display.

Now I disconnect the monitors and go to the office. I plug in my office monitors to the same ports in the same order, and Mail is on my leftmost display while the Chrome browser appears on my laptop monitor. What the heck? So I go to expose mode or whatever its called and switch them around. No big deal, right?

Well, in reality I have about 5x that many programs open at any given time and I always want them to appear on the same displays. I never want Chrome on the tiny laptop display and I never want Mail on the enormous leftmost display. After two years of dragging windows back and forth twice a day it has become the most infuriating thing in my life! (pretty good life, no doubt)

Is there any way to save the desktop arrangements so that they consistently display on the desired monitor? Ideally, any monitor plugged into the same display port would display a specific desktop.

I have a similar setup and now that I'm thinking about this, using Spaces is the key.

  1. Go to System Preferences > Mission Control
  2. Enable "Displays have separate spaces"
  3. In the Dock, right-click (or option-click) an app.
  4. Under Options, assign that app to the appropriate space and display.

I'm currently at home where I only have a single external monitor but it is working.

Apps assigned to the monitor are on the monitor. I unplug it and the apps all go on the laptop. When I plug the monitor back in again, regardless of port, they appear on the external monitor.

  • Hey Randy! Fancy meeting you here. I have "Displays have separate spaces" checked already, but I'm going to play around with "Automatically rearrange Spaces based on recent use" to see if it has any effect. – Ben Harold Feb 12 '15 at 2:20
  • But do you have apps specifically assigned to those Spaces? – Amazing Rando Feb 12 '15 at 2:24
  • The only "Options" I have are: Keep in dock, Open at Login and Show in Finder – Ben Harold Feb 12 '15 at 2:42
  • Now that I'm in the office with two external monitors, this is working for me. You may have to do the Mission Control setup again or restart. – Amazing Rando Feb 12 '15 at 14:18

I feel your pain as I had an almost identical issue. It went on for ever, no one knew how to fix it. I tried re-wiring the order of displays and just about everything I could think of.

I'm now running on Yosemite.. Shortly after upgrading apple released a firmware update (I believe Dec 19th or so) for the ThunderBolt displays.

Yosemite, along with that update - I have had no problems since.

  • Unfortunately I have already upgraded the firmware and OS yet the issue persists. – Ben Harold Feb 12 '15 at 1:46

I can't test your setup so I can't help with this esoteric bug but I do know of an app that may help. Check out Moom. It's primarily a window-snapper utility, but it has a unique feature in which you can setup window layout snapshots based on the currently available windows.

Here's the kicker: you can set the pre-defined window layout to trigger automatically when switching to a different number of displays.

Hope that helps!

Display Maid seems to be designed to do this:

Display Maid is an app for keeping your displays tidy and managing your workspaces. If you use an Apple laptop with an external monitor you probably know how frustrating it is trying to keep apps and windows organized when you have to unplug your display. Everything gets jumbled up on your main screen and when you plug your display back in you have to manually move all of your windows back over to your external display. Display Maid will save and restore your window positions so you don't have to waste valuable time managing your window positions.

It is $5 (USD) on the Mac App Store but there is a free demo available (.zip file) from the developer’s website.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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