FluffyDisplay
FluffyDisplay copied to clipboard
Add use case description: screen for sharing during video calls
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.
@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?
I don't know, but it's easier for you to try than for me! (FluffyDisplay is free, Screegle isn't.)
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.
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)
It functions as a normal external display. You can use the Display settings in System Preferences to position it.