In my experience MacOS multi-monitor support is effectively non-existent.
Recently I picked up a 49” ultra-ultra wide monitor (basically 2x27” panels). It is one monitor but MacOS can’t drive it. They just don’t detect that resolution. I switched to a 43” 4k monitor (technically more pixels) and MacOS drives it fine.
My experience with MacOS is not “it just works” unless you are doing something Apple already predicted. That’s fine for me, I just wish they still sold a reasonable monitor themselves so I could be assured it would work properly.
I finally got sick of this and wrote a Hammerspoon script to deal with this. The config looks like this:
local dualLayout = {
{"Firefox", nil, primary, topLeft, nil, nil},
{"Preview", nil, primary, topLeft, nil, nil},
{"Sublime Text", nil, secondary, topHalf, nil, nil},
{"Slack", nil, secondary, topRight, nil, nil},
{"Notes", nil, secondary, topRight, nil, nil},
{"iTerm2", nil, secondary, topRight, nil, nil},
{"Safari", nil, secondary, topRight, nil, nil},
{"IntelliJ IDEA", "cursive", primary, hs.layout.maximized, nil, nil},
{"IntelliJ IDEA", "community", secondary, hs.layout.maximized, nil, nil},
}
Now when I connect my two external monitors, a quick Ctrl-Alt-Cmd-R lays everything out. It's crap that I have to, but it saved my sanity.I tend to have one space per task and have at least a Firefox and an iTerm on every one.
Just running a single monitor is the way to go for me. The benefits of multiple monitors just doesn't make up for all the fiddling.
Maybe we can get to the bottom of this. What is your use case?
I ask because as long as I plug them into the same ports it remembers how I arranged them previously (2018 macbook pro 15"). I haven't had to arrange them in over a year... even remembered when updating to latest operating system. Occasionally, I even plug in my LCD TV as a third external monitor and it remembers where that one should go in the arrangement too.
The fact that it was all one physical monitor may have further confused the OS as a sibling comment mentions.
The solution was to sell the monitor to a Windows-using architect friend and buy a different panel with a resolution MacOS supports. She has a macbook too but it's the fancy one with discrete graphics which can drive 5120x1440.
The value proposition of MacOS to me is that I plug things in and they work. Any fiddling beyond that destroys the benefits of using this platform. I'm willing to iterate on hardware until I find something that works.
At least for apps that are dedicated to one screen + virtual desktop, right click its icon in the dock and assign it to that display and workspace.
Note that the effectiveness of window restoration also depends on the make/model of your monitors – many manufacturers incorrectly share EDID's across all units of the same model and sometimes across multiple models, making it much more difficult for operating systems to uniquely identify them.
I'm thinking of flipping my monitor upside down so I'll never accidentally brush that area while picking up something on the table.
Reports I read stated that while you can select it with SwitchResX it was scaled.
I never tried installing it myself because I’m not a fan of modifying the system on a Mac, especially one I don’t own.
From my poking around I think the horizontal resolution is the problem. The system scans possible resolutions to see what works. Apple just never expected a single display that wide.
There’s some reports that newer MacBooks with discrete graphics on Catalina can indeed run this resolution. It used to not work regardless of hardware, now apparently discrete graphics MacBooks can run it. Maybe because they updated the drivers/system for their new super fancy monitors.
At work I have a mac mini and a Windows box, and I use three crapola Asus monitors between them, and my impression has been that macOS does a better job rendering text on said crapola monitors (the Windows box does a better job at compiling C++ in a timely fashion, though, so I mostly work on that one).
I was plagued with performance problems, mostly in IntelliJ, until I realized it didn't work well with scaling. Going to native resolution solved it.