85 comments

[ 4.5 ms ] story [ 161 ms ] thread
If you vary the monitor count, its memory of the change "back" is mutable: Some windows stay where they were, some move to one or other monitor

(I alternate between 2 external @home 1 external @work)

Yes, this happens to me as well...
Windows go invisible is complex. Some windows, you can "gather windows" easily.

Others, refuse to be gathered. A canonical method to force all windows which exist off-screen to be shown at least partially on SOME screen would help

And something like a neon flash border (like zoom does on screencast panes)

i rarely had the issue but using applescript helped a couple of time to force every single windows to a specific (reachable) position.
I had this problem fairly regularly with my previous (Intel) MBP (though it hasn't shown up since I upgraded to an M1 Max). I eventually figured out a reliable solution for it:

1) Under the Window menu, select the window that's gone invisible 2) Minimize it (using the Cmd-M shortcut or the Window menu item), causing it to become visible in the Dock 3) Click on it in the Dock, un-minimizing it and making it visible again

Now, I can't guarantee this would work generally (I was only having the problem with a particular Safari window that I regularly kept in split-screen with Music on my external monitor), but it did work consistently for my particular issue.

Thanks for the tip. I'll try this the next time it happens.
I quit relying on consumer solutions to professional problems and am thoroughly enjoying my trivially scriptable Sway setup.
I've ran into each of these issues. The daisy chain USB-C monitor thing is the worst of them, the others are bone-headed UI fails.
You really can’t stretch a window across multiple monitors in MacOS? Wow.
You can. I'm doing it right now. They don't like to stretch over the menu bar (i.e. top screen has no menu bar, bottom screen does, trying to stretch window from top to bottom) but they happily stretch left to right — or top to bottom if the menu bar is on the top screen.
It's been a while since I fiddled with it, as my Mac OS set up kind of just works at the moment for me (or rather... I've learnt it's general nuances), so I don't change things unnecessarily, but I think this is related to the setting of having monitors having their own "Spaces". From memory, you can set monitors to have their own "Space" - in which case windows don't span multiple monitors (if a window would span multiple monitors, it won't, part of it just disappears off into the ether), or you can set them to share a "Space" in which case windows can definitely span multiple monitors, but from memory that came with its own quirks. In my set up, I never need/want a window to span multiple monitors anyway, so I've not fiddled with it in recent years.

EDIT - here's a general explanation, which I think probably still holds somewhat true - https://www.macobserver.com/tmo/article/os-x-how-to-use-sepa...

I'm guessing (hoping) with things like Sidecar in recent years, at some point fairly soon Apple will generally unify how they approach multiple monitors/displays, but it is a tricky problem to fundamentally solve, especially with multiple displays with differing DPI's, dynamic range support, etc.

You can. It's a setting in Mission Control. But turning this on breaks other things, which I can't remember right now. (Not at my Mac currently).
I know this is something basic users would expect, but I had some PTSD from wayland compositor writing days thinking how much complexity such feature would introduce. Even more complexity is introduced if the monitors are plugged into different GPUs shudders
I’m doing it right now on Windows 11. And each monitor is plugged into a different Nvidia card
There's surprising amount complexity involved in that kind of setup. Depending on the GPUs you might even see a performance loss if you open program in wrong monitor, or move it to other monitor while it's running (especially anything hw accelerated). Some technical details here, old but still relevant: https://gitlab.freedesktop.org/wayland/weston/-/issues/76#no...
My issue is that waking my laptop from sleep with a second monitor plugged in and Safari open with ~100 tabs causes several minutes of pegged CPU usage before the computer becomes usable again.

MacOS seems full of these hidden gotcha algorithms where O[n] behavior transitions to O[e^n] behavior when n exceeds some threshold. The Finder is the worst offender but perhaps the window manager too when multiple monitors are involved.

Is this on a Mac with an M1 chip?
Not in my case. 2020 Intel.
From what I have seen Apple chips have made significant improvements in the external display experience.
My problem is that the windows will all default back to the laptop monitor after sleep.
Yea this is also a big problem I have. I can't stand having to reorganize my windows when I go back and forth from desk with monitor to laptop.

I want the window manager to remember where I had the window and move it back when I plug in. Now I just mirror and have a bigger monitor becaused I can't deal with that horseshit.

*bookmarks enter the conversation
Or just use Firefox. I've been a Chrome-ish user for decades, bouncing from Chrome to Vivaldi and then finally Opera (with a brief stint on Edge after it switched to Chromium). Firefox is just stable, but I mainly switched for Container Tabs at work so I can log into AWS to access different customers at the same time.
On M1, there's no way to disable the internal monitor on a laptop. On Intel there is a flaky & unsupported boot arg: niog=1

On Windows, this is the most trivial task in the world.

you just close it
That works, but I assume it's not ideal for the airflow.
The vents just blast backwards when it’s shut.
I've seen a macbook cook itself doing this, so I'm not sure if it's sufficient
Unlike Intel-based Macs, M1 runs very cool, and even under heavy all-core load doesn't need more than a slight breeze.
An Intel one, sure. On an M1, first of all, if you're managing to run it at all hot for any length of time, you're doing something extremely impressive, and second of all, I've yet to see my M1 (or hear of anyone's) getting anywhere close to the kind of heat that was considered normal on my last 2 Intel MBPs. I can rest it on my bare legs even when doing things that push the GPU fairly hard; if I'd tried doing that with my last one, I was at the very least asking for severe discomfort.
I had no problem on either of my Intel MBP operating them with the lid closed for the two years of the pandemic. I did buy one of those stands that props them up sideways to save on desk space, which also probably helps with cooling as well.
I’m pretty sure back in the days when you couldn’t do this, people were complaining about their MacBook sleeping when they closed it.
I’ve added that feature in Lunar (https://lunar.fyi/#blackout).

But I guess it might not be worth the price if that’s the only thing you want to do with the app.

While not deactivating the internal screen, dimming the m1 pro until there is not brightness, is the closest thing you can do.
My main issue with multi-monitor is getting it to actually work with two monitors and the Mac closed. Every morning before I start work I'm faffing around with USB-C cables, plugging them in and out constantly until the Mac just decides that it will work now.
Amphetamine (https://amphetamine.en.softonic.com/mac) solved this for me. I turn it on, with “allow system sleep when display is closed” disabled, and it’ll work with the laptop closed, using only the two connected monitors as display.
On the flip side, my late 2018 mac mini won't display at boot on my dual thunderbolt displays. I have to plug one into HDMI to get it to work. Works fine after boot.
Honestly there are so many issues if you have two 4K screens on a MBP M1.

Just pay for the extremely expensive Apple screens and you might be ok. Otherwise except the worst.

My favourite: Dell 4K screen start scintillating, with extreme ghosting which is still present during reboot only to be fixed by using the degausser program and generic "Color LCD" color profile.

I’m running 3 4k screens (2 real 4k screens and one 3840(ish, can’t quite recall)x1440 in vertical orientation) on my Studio. One of the real 4k screens is an Asus, the other is an old Sharp monitor that can only do 30fps (fine for coding on).

I have no problems, and since they’re all pulling multiple duty through various connections, one 8-way KVC and one 4-way KVC, and are switched from machine to machine regularly, I’d have thought I’d be one of the first to find out…

I had issues with my M1 Mac mini.

But no issues with my newer 16" MacBook Pro M1 Pro.

Sometimes when I plug in my dock (with 27" 4k monitor attached) and other monitor (also 27" 4k) to the thunderbolt ports (taking care to plug the same cable into the same ports), the windows magically rearrange themselves into the position they were in when the machine went to sleep if I haven't turned the machine on. Sometimes they do not. Sometimes I can use the machine and they will still rearrange properly. Sometimes not.

Baffling.

One monitor off of the dock, and one direct attached?

Maybe this is due to slight variance in startup time (wake from sleep) of the monitors. And also, maybe Mac is sensitive to that order.

Try plugging one in, wait for it to display desktop, then plug the other. I bet you get 100% consistency then.

I do the wait dance sometimes, maybe because I'm a hopeless romantic, and it seems to work as intermittently as not waiting.
Im told multiple times, across many, many forums that everything just works on apple hardware. Is this lautman.net site a lie ?
(comment deleted)
Historically, Apple tends to only work with other Apple products well. The only product that I'm aware of that breaks this rule are the new air pod pros.
Another one: When I open a new window of some application, it decides which monitor to appear on seemingly at random
I have a top of the line M1 Max MacBook Pro, and in theory, I should be able to use my also-top-of-the-line iPad Pro as a second monitor, wirelessly. I’d say it works flawlessly about 1 out of 5 days. Which is a shame because I love the setup, but man it’s frustrating on those other 4 days.
After a few months of triple screening on Mac I gave up and went super ultra wide. It's too much for my old standing desk adapter but totally worth it otherwise.

Now I can see every lane on the sprint board at once ;)

I have a strange problem where my Mac Pro forgets the arrangement of my monitors. I have to drag them over in “Display” but only sometimes.
I’ve found that plugging them in in the same order each time helps, but I doubt that’s a universal cure.
I feel like I'm somehow an anomaly with all of this. For years I've used two screens, either with a MacBook of some sort or with an iMac, and it's almost always worked fine regardless of if the second monitor is an old Thunderbolt Display running through a TB2 → TB3 adapter or a third party 1440p monitor (have tried a couple different ASUS models as well as an Alienware model). Maybe once a month I'll see the two screens scrambled when waking up (which is promptly fixed with a replug) but that's the worst of it.

The exception was with a 2016 15" MBP. That thing is flaky to say the least. But a 2014 MacBook Air, 2015 (pre-touchbar) 15" MBP, iMac Pro, and 16" M1 MBP have all been solid. Heck even the Haswell hackintosh tower I was using for a while handled multiple monitors well, and it was even running with two separate discrete GPUs.

I've had much worse luck with monitors with Windows and especially Linux, the first of which is rocky at best if Thunderbolt is involved and the latter of which is fragile with anything but a super simple FOSS supported setup (e.g. Intel iGPU or a single recent AMD GPU). Linux fractional DPI scaling is still a mess even on near-cutting-edge distros like Fedora under both Xorg and Wayland, which is super disappointing for me because I have a ThinkPad that would love to be running Linux instead of Windows but is unusable with integer scaling.

For what it's worth, Ubuntu 22.04 (and anything similarly up to date using GNOME) supports fractional scaling by default. Because it's inherently less performant than integer scaling you need to check a box underneath the scaling factor but that's it. Works fine here with a GTX1080 on Wayland with three screens.

Earlier GNOME versions had the option hidden behind a flag you could enable in the "Tweaks" application.

I'll have to try Ubuntu 22.04.

The flags I have tried already, but even with those turned on things are spotty. The DE looks great, but it starts to fall apart with third party apps. Some work fine, others kinda (or blurry if it's XWayland), others yet totally broken.

It'll be a good day when Linux HiDPI support is as solid as it is under macOS or even Windows.

Fractional scaling is solid on Wayland in my experience. The main issue is not all desktop software has been updated to be friendly with Wayland yet—Electron being a notable offender. For these apps, there's often configuration options via env vars you can pass to the process to force Wayland or XWayland mode. Eventually, this will be unnecessary as the apps get updated, so things should only get better from here on out.

I run Fedora 36 and use a TB3 dock for a 1440p laptop I run at 175% scaling.

I would add to this annoying mouse jitter, which I determined was due to the M1 Air rather than any peripheral or cable.

Surprisingly BetterDummy [1] fixed it without trying to.

[1] https://github.com/waydabber/BetterDummy

> Can’t do two video outs on one usbc.

He means TB3, which has a DP signal inside it.

Sure you can. you need some device (dock) on the usbc, that can split off the 2nd signal. However, what you can't do is 3 video outs (MST). PC can do that. Of course there's only so much bandwidth so I suppose that's why Mac has decided this isn't worth supporting.

Well, there used to be a MBA and MB (not P) that only had USBC and not TB3. Sure, on those you could only get 1 video out per port. I'm guessing this is again a decision about bandwidth limitation.

> Can’t have a window stretch across multiple monitors.

You can, it's just not the default. I think that was a misfeature and I like the constraint personally. I don't think I've been reality distorted, I think I do really like it. Yes, I like it. Srsly, I usually have some kind of dashboard, doc reference, chats and what not, over there. When I slide a window over on the main monitor, to get more space on some primary app, I don't want that space release to cause me to shuffle a window over there, like a domino effect. It's a good thing that windows stay only on one monitor. As well, it becomes clear which screen owns the menu bar when that app is active. (No comment on whether global menu bar is a good thing.)

System Preferences > Mission Control > Displays have separate Spaces

is the setting to change this behavior.

> menu bar disappears when you have firefox full screen on another monitor

Sounds like a firefox bug. I guess it's still fair game for this web page.

(RE: Can’t have a window stretch across multiple monitors.)

"You used to be able to do that. Long ago."

I am doing this right now on El Cap with three monitors on a 2009 Mac Pro.

This is basic, boring, functionality.

If, in fact, you cannot do this now, the correct response is merciless ridicule.

Who even works at Apple if this basic function was allowed to break and stay broken ? Buffoons - that is who.

Relax – you've just misunderstood.

As the comment above points out, this functionality is affected by a specific setting on a Mac – there's a toggle labelled "Displays have separate Spaces", which is checked by default. When it's checked, each display has its own independent set of virtual desktops and fullscreen apps, which can be navigated independently of the others. When it's not checked, there is one shared set of virtual desktops that span all displays, and navigation affects them all.

When using the former option, windows are restricted to appearing on a single display only – they cannot span multiple displays. This is a reasonable choice, as it would be otherwise unclear what the interaction between windows, desktops, and displays would be. Each display is its own independent canvas and interaction is limited to migrating windows and apps between them.

If you are using the latter option, then windows can be stretched arbitrarily across multiple displays. This doesn't present a problem, because the extended display then represents one common canvas and it's clear how interaction between the windows, desktops and displays should work.

See? It's no magic, or broken, or the outcome of buffoonery. It's just a normal computer feature working normally.

Thanks - good to know.

And, just to clarify - the "merciless ridicule" was to be aimed at Apple, not the end user.

macOS continues to lack DisplayPort Multi-Stream Transport (MST) as well, which is extremely frustrating from a dongle-kvm-and-wires-everywhere support perspective.
"Can’t have a window stretch across multiple monitors ..."

Wait, what ?

That is not a minor issue - that is day one, hour one, basic functionality.

Either I misunderstand the op or Apple doesn't do even basic testing.

(FWIW, I am doing this now on three screens in El Cap ... this is neither interesting nor noteworthy. This is basic stuff.)

I haven't been able to do this for as long as I can remember on any version of MacOS with my current monitor setup.
By default you can't. But it is a preference you can change to enable it.

System Preferences > Mission Control > Displays have separate Spaces

Yeah, not sure what he means by that. I can happily pull a window over multiple monitors, and have done to read very wide log files.
maybe it's just off by default on newer versions? i had to turn it off on my 2021 MBP at work.
This is not a bug. It is how windows and screens have interacted for years. I never needed it, myself, but I understand if you change the setting that puts different monitors into different “spaces”, then you can have windows across multiple monitors.
I just got a brand-new M1 Pro Macbook for my new job.

Can anyone recommend a dock / hub that will let me reliably do integrated screen + 1x 4k + 1x 1080p?

I use the caldigit thunderbolt mini with 2 HDMI. Worked good on the intel MBP, worked good on the M1 mini, works good on my M1 Max MBP.
MacOS does not support Daisy-Chaining, which renders most ports with two monitor outputs useless.

To use two monitors you have to use two different USB-C ports and play the lottery that the monitors get recognized as wished each time you reboot. Second option is two buy a Thunderbold 3 port which costs ~300€.

I daisy chain two LG 4K displays over a single thunderbolt cable plugged in to my 14” M1 Pro MacBook Pro every day without issue.
You can stretch a window across multiple monitors if you uncheck “displays have separate spaces” in mission control settings. It fixes most of the problems in this post.

I run five monitors at 4k 60Hz every day with my max spec mbp. Four are portrait and two are landscape. (One portrait is DisplayLink usb) I actually have six monitors. One is split with an active HDMI splitter.

I definitely have trouble sometimes but the M1 is actually a lot better than the intel mbp because changes to settings are near instant.

Most of the time it just works.

Tricks I’ve learned:

1. Always plug the monitors in the same ports.

2. Lock the screen, then unplug monitors to keep your windows arranged.

3. I use SwitchResX to save and restore my monitor positions. Its not 100% reliable but it gets things mostly arranged and a few rotation tweaks in settings gets everything fixed.

4. It helps to have monitors of distinct models. When I have multiple of the same model and those are the ones that have problems getting rotation swapped.

Thank you for sharing this, not being able to stretch a window over multiple monitors really annoyed me and I didn't know this fix to it.
edit: only being able to have one program in full screen is way more annoying.