tml1024 / FluffyDisplay

FluffyDisplay: Manage virtual displays on your Mac
Apache License 2.0
325 stars 42 forks source link

Add use case description: screen for sharing during video calls #6

Open twoframesperminute opened 2 years ago

twoframesperminute commented 2 years ago

I was looking for a tool like this for a different use case than you describe. My suggestion is you add this description for others looking for a similar solution.

My use case is for when I have to present something over Zoom/Teams. Normally when giving presentations, PowerPoint or SlidePilot (https://slidepilotapp.com/) projects the presentation onto an external screen, and my laptop screen becomes the presenter display. However, this is not possible when presenting on a video call, since the presenter display only works when an external screen is attached. With FluffyDisplay, I'm able to set up a virtual display and have PowerPoint/SlidePilot use that for the presentation, while the real display becomes the presenter display. I can then share the virtual display over Zoom/Teams.

The disadvantage of this setup is that it's hard to monitor what's on the external screen locally. I have currently solved that by capturing it using OBS and showing a preview locally (which is, to be honest, a botch), but am looking for other solutions to that problem currently.

ldenoue commented 2 years ago

@tml1024 and @twoframesperminute

I made an app called Screegle that currently fails to work with Zoom because it "hides" the window by moving it to the right side of the real display. However Zoom (and Teams) use a new macOS API from ScreenCaptureKit that makes this window black.

Do you think I could use this FluffyDisplay to open a virtual display, put my Screegle window in it, and have Zoom or Teams properly capture it?

twoframesperminute commented 2 years ago

I don't know, but it's easier for you to try than for me! (FluffyDisplay is free, Screegle isn't.)

ldenoue commented 2 years ago

Indeed :) I just tried FluffyDisplay was able able to put a window there, and Zoom can capture it. However, I'm trying to understand how to create the virtual display so it is ABOVE my main display, not on the right. If you know how to control this, thanks for letting me know.

ldenoue commented 2 years ago

Answering my own question: this positions a display on top

                    var configRef:CGDisplayConfigRef? = nil
                    CGBeginDisplayConfiguration(&configRef)
                    CGConfigureDisplayOrigin(configRef,currentDisplay,0,-1280)
                    CGCompleteDisplayConfiguration(configRef,CGConfigureOption.permanently)
twoframesperminute commented 2 years ago

It functions as a normal external display. You can use the Display settings in System Preferences to position it.