This PR adds support for excluding certain windows while capturing a display.
Why do we need this change?
We want the ability to ignore certain windows ( like the camera, cropper etc ) when capturing screen using Helmer
How are we doing this change?
First, we needed to move the screen capturing with display to use ScreenCaptureKit instead of CoreGraphics. Here we also add support for excluding certain windows using the excludingWindows param using init. To achieve this we also make the corresponding changes in objc files.
Next we update CapturableContent to also return the list of windows to be excluded.
We also update the with_display func to take a list of windows to be excluded. This list is then propogated forward and used while creating a stream to capture.
Finally, we also expose a id() func on the window object to make it easier to get the ids of windows to be excluded.
What improvements can be done?
Add support for windows
Improve the excluding_windows fetching logic to only loop through windows once.
How has this been tested
Manual testing in Helmer by connecting this version with omni, which in turn is connected to Helmer
What does this PR do?
This PR adds support for excluding certain windows while capturing a display.
Why do we need this change?
We want the ability to ignore certain windows ( like the camera, cropper etc ) when capturing screen using Helmer
How are we doing this change?
excludingWindows
param usinginit
. To achieve this we also make the corresponding changes inobjc
files.CapturableContent
to also return the list of windows to be excluded.with_display
func to take a list of windows to be excluded. This list is then propogated forward and used while creating a stream to capture.id()
func on thewindow
object to make it easier to get the ids of windows to be excluded.What improvements can be done?
excluding_windows
fetching logic to only loop throughwindows
once.How has this been tested