Open MarqueIV opened 2 years ago
Wonderful utility. I see a similar behavior on MBP 16" M1 running Monterey 12.5.1 with 2x 4ks mirrored with the lid, and trying to unmirror just the lid. Happy to help test or with further diagnostics.
Wonderful utility. I see a similar behavior on MBP 16" M1 running Monterey 12.5.1 with 2x 4ks mirrored with the lid, and trying to unmirror just the lid. Happy to help test or with further diagnostics.
Ok, pretty sure that rules out the macOS beta. That means now it's either DisplayPlacer or the APIs which DisplayPlacer uses.
Trying to dig through the C code now. Just been forever since I've done C so I'm a little rusty.
@MarqueIV @steady137 /cc @jakehilborn: feel free to try #102
@mgumz I have tested it and it works well! Many thanks!
@g6ai well, then express your desire for the PR to be merged at the PR =)
@MarqueIV @steady137 @g6ai Mirroring behavior has been improved in release v1.3.0. Could you try it out and let me know if it works for your setup?
Can confirm release v1.3.0 resolves this issue for my setup. Thanks guys for the great work!
TL;DR
I can't seem to get your command to stop mirroring my displays, once mirrored.
The Details
I have an interesting issue regarding mirroring. There's definitely a bug. I just don't know if it's in your software or the OS.
First, here's my arrangement.
Using the shortened IDs
AAAA
,BBBB
,CCCC
andDDDD
for readability,AAAA
is my MacBook Pro's built-in display (lower left),BBBB
is my 40" 4K display (center), andCCCC
andDDDD
are two 2.5K displays that flank the sides.To configure this arrangement, I use the following command (again with the IDs shortened for readability here):
This works as expected.
Now for certain times, I want all my displays to mirror my MacBook Pro's display, so the above changes to this...
And this (seems to) works as expected.
BUT... if I then go back and initiate the first command to re-set everything back up as separate displays, something odd happens. A few things actually.
For example, on the 4K screen, the mouse is now restricted to an area in the upper left corner with dimensions 1512x982 (matching the dimensions of the MBP's display), meaning I can't move my cursor to the right side or bottom edge of my screen.
Now, even though it's constrained to that area, it responds as if that area the mouse is confined to is 'mapped to' the full screen, meaning when I move the mouse to the right edge of that area (where it stops/is constrained) the UI responds as if the mouse was all the way on the right side of the screen. In other words, the mouse area is 'scaled down' from the visuals, which are incorrectly scaled up to match the mirroring, which again, it shouldn't be doing in the first place!
The result is on all but the MBP's display (which of course has a 1:1 scale with itself) the mouse is scaled out of proportion to the UI by the ratio of the physical screen to the mirrored screen.
Make sense?
Re-Mirroring 'Resets' Things
If I however re-execute the 'mirroring' version above, then all displays go back to properly mirroring the MBP's display, all with the correct scaling. In other words, it's only when you try using DisplayPlacer to unmirror that things go wonky.
Stop Mirroring Entirely - Can't use DisplayPlacer
In order to get it to actually stop mirroring, I have to manually go into
System Preferences -> Displays
and disable mirroring there which leaves my monitors' arrangement in a garbled state, so I then go back and re-apply my first command above, which brings things back to normal.One More Thing
Also, I've mentioned this before... you really should consider updating your
displayplacer list
with two changes... one, give us a flag to just show that last line so we can easily save it off into a file/script for quick reapplications without having to grep for it, and two, for readability, I highly encourage you to use the line continuation character/
like I have, indenting the following lines. It's still technically a single command, it's just much more readable. But that's neither here nor there regarding this issue. This issue is a stopper for me. Hoping you can help figure it out.