mPyKen / ScreenAreaShare

Share selected area of the screen in applications that do not support this, e.g. Teams.
MIT License
147 stars 19 forks source link

Move the red border outside the visible area #11

Open 3x3cut0r opened 1 year ago

3x3cut0r commented 1 year ago

Is it possible to move out the red border outside the visible area so that the partisipants of ms teams dont see it? and it can also a litte bit smaller too :>

but great work so far :D

mPyKen commented 1 year ago

The red border is configured as a private window and should be invisible for participants of MS teams, at least on windows. I haven't tested it on any other OS. Are you running on Mac OS? If you are fine with a static recording area that cannot be dragged around, you can try using the --freeze option which should hide the red border window.

3x3cut0r commented 1 year ago

Yes i am on MacOS 13 (M1). And no, it is visible for participants in ms teams. And the border is like 0,5cm thick. A little bit too much. Maybe i will have a look into the source code and can find out how we can fix this.

mPyKen commented 1 year ago

Private window mode probably does not work on MacOS, then :/ You can set the border size here https://github.com/mPyKen/ScreenAreaShare/blob/master/src/capture.css#L24 Let me see if I can find the time to make this a cli parameter

3x3cut0r commented 1 year ago

thanks. 4px is way more better than 10px! and can i set the default window position too? where is the center tag? i want to remove it and let the windows appear on the top or bottom left side.

3x3cut0r commented 1 year ago

what could be the reason why on macos the red border is also shown on the render window?

mPyKen commented 1 year ago

can i set the default window position too?

The app already supports parameters to set default positions for the windows. See here

what could be the reason why on macos the red border is also shown on the render window?

ScreenAreaShare uses setContentProtection function to disallow other apps to record the capturing window. Maybe this is not supported on mac os :|

3x3cut0r commented 1 year ago

The app already supports parameters to set default positions for the windows. See here

ok i will try that

ScreenAreaShare uses setContentProtection function to disallow other apps to record the capturing window. Maybe this is not supported on mac os :|

There is an open issue on the electron project for this with a possible solution/workaround. would this work here?

app.commandLine.appendSwitch('disable-features', 'IOSurfaceCapturer,DesktopCaptureMacV2')

mPyKen commented 1 year ago

There is an https://github.com/electron/electron/issues/19880 on the electron project for this with a possible solution/workaround. would this work here? app.commandLine.appendSwitch('disable-features', 'IOSurfaceCapturer,DesktopCaptureMacV2')

I am unable to test this without a Mac. Could you see if it works for you? (Or even create a PR?) Looking at the issue, this line needs to be inserted here.

3x3cut0r commented 1 year ago

With the line inserted as you mentioned, the red border on the render window is gone! so it seems to work. but now i have the White Streaming Window Error like in issue 5 the same problem i have on my win 11 laptop too if i compile it by myself instead of using the .exe from the here maybe i now also need to use nodejs 14 or 16 instead of 18 ?!

// EDIT: I could successfully build it with nodejs 14! I also replaced the ScreenAreaShare-1.3.2-arm64.dmg posted here with the working one Its now working great on MacOS M1!

i didn't do a pull request. it was just the line you mentioned above to work on MacOS M1 ... compiled with nodejs 14.

mPyKen commented 1 year ago

Awesome, great to hear that! Let me include the fix in the next update