-
Notifications
You must be signed in to change notification settings - Fork 381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for multiple displays on a single display in a flexible arrangement #197
Comments
This feature would be huge, and would really be useful for me +1 on the feature request :) 1/4, 1/2, and 1/4 split of my screen would allow for the main screen and 2 separate work areas. if this became a separate tool, I would buy a license :) |
This is now basically possible with multiple PIP windows (set to high priority, shadowless, title-less) as PIP windows now remember their location and can be auto-started as well. Still, keeping as an open issue as a more dedicated solution would still be useful. |
Adding support for this feature. Here's an image of what I'm trying to achieve. As we know, macOS has different functionality for separate displays than it would for simply a single monitor with the equivalent pixels. For me, I think we'd need to add an option to specify the split — not merely halves, quarters, etc. The ability to map the total pixels as "virtual displays" would be life-changing |
I bought a license to try this out (and because I could use some other features in the near future) and while it's very close to being practical it does not feel quite there yet to me at least. Positioning the PIP windows correctly is a pain especially after turning off the title bar, removing the black border and shadow requires free aspect ratio which makes it even more inconvenient. Then, setting one of the virtual displays as the primary display broke the entire system (the PIP windows just disappeared), and the solution is not quite that functional unless a virtual display is set as primary so software opens there automatically. After making my real display the primary one again, the PIP windows had moved around as well. So I think a proper solution to "monitor splitting" (even using virtual displays + PIP, just positioning the windows automatically based on some layout and managing primary display properly) is still very much warranted. A feature like this would be extremely useful for 32:9 setups, so I'm really looking forward to when it eventually gets implemented. |
Right, I still plan to add this feature. Meanwhile the upcoming version will have full PIP CLI support so you should be easily arrange PIP windows precisely with a simple script in an easy-to-reproduce manner. |
(note: virtual screens are also fully scriptable now - so it is quite easy to create a script that turns on virtual screens, sets main screen in the preferred way, arranges PIP windows for them in any configuration on a preferred display etc. And then it is similarly simple to turn the entire thing off. A script then can be added to Shortcuts for easy run (or it can be written in Shortcuts to begin with). |
Hm yeah if this all is possible then that would be enough for me to get exactly what I want, looking forward to the next release then! |
Excellent timing, +1 for this feature! |
Note: CLI for PIP is available in the 2.2.4 release now. This should make connecting virtual screens, starting and arranging PIP windows to exact coordinates etc possible using scripting. Of course this does not mean that I am not planning to add the "multiple displays on a single display in a flexible arrangement" streaming feature as well in an upcoming version. :) |
Got the chance to try it out. With two displays, Left and Right, 16:9, this script automatically positions them on my real display side by side. #!/bin/sh
REAL_DISPLAY=LS49AG95
VIRTUAL_DISPLAY_1=Left
VIRTUAL_DISPLAY_2=Right
MAIN_DISPLAY=Right
# Connect the displays
betterdisplaycli set -namelike=$VIRTUAL_DISPLAY_1 -connected=on -pip=on
betterdisplaycli set -namelike=$VIRTUAL_DISPLAY_2 -connected=on -pip=on
# Set a virtual display as the main
betterdisplaycli set -namelike=$MAIN_DISPLAY -main=on
sleep 1.5
# Position the displays
betterdisplaycli set -namelike=Left -pip -targetnamelike=$REAL_DISPLAY -width=50% -height=100% -originx=0% -originy=0%
betterdisplaycli set -namelike=Right -pip -targetnamelike=$REAL_DISPLAY -width=50% -height=100% -originx=50% -originy=0% Seems to work fine, the main caveats are:
|
Nice work! Hmm. I can add an additional option when the window level is set to absolute to make the PIP window click-thru (so the window itself does not register clicks) or an option to make it unmovable by dragging it. Would that be useful? You can also move the real display in the layout using the |
An option to make it unmovable by dragging it would be really appreciated, and I reckon it'd probably also be useful for other use cases too. I don't think making it click-through would help as it would then make clicks go onto the "real" (empty) monitor underlying the two PIP windows.
In the end that's more or less what I did by positioning the real monitor above both virtual ones in the arrangement, though I did it manually through macOS System Settings. I find I almost never get the cursor that way. And even if I did, if I could have the PIP windows locked then there wouldn't be much of a problem. |
I plan to add click-thru option for hovering PIP windows that are set-to semi-transparent. |
Here is an interim build with these changes. The features are accessible via CLI as well. |
Does this support HDR or refresh rates above 60hz? I'm looking to use this on a 5120x1440@240hz monitor to create side by side 1440p240 virtual displays for DaVinci Resolve. Attempting to use the monitor's built in PBP mode reduced it to 60hz, but the monitor works great via HDMI 2.1 as a single monitor, but that doesn't play well with DaVinci Resolve. |
Hi @waydabber, any updates on that? I'm thinking about buying some UltraWide screen, but without separate screen support (PIP?) it would be useless. |
I still plan to implement this of course, but no updates right now regarding this. PiP works just fine + PiP was improved in many ways during the v2.x updates so it's much easier now to construct a video-wall like setup with exact positioning. Also, the whole thing is now perfectly scriptable thanks to |
Hello! I've come here looking for the same as others, the ability to treat a single display (in my case, a dual-display that presents as one because the Mac can't address it as two) as two displays. |
Here are the docs: https://github.com/waydabber/BetterDisplay/wiki/Integration-features,-CLI You don't need to install |
On a big TV or video wall it would be useful to arrange multiple independent logical display side-by-side in multiple rows or in any arrangement that fits the use-case. This could be useful for control centers, NASA and the film industry wanting to create impressive sets of huge displays with subdisplays. :)
The text was updated successfully, but these errors were encountered: