Teams-for-linux: Allow single screen sharing for multi-monitors

Created on 15 Apr 2019  路  17Comments  路  Source: IsmaelMartinez/teams-for-linux

Is your feature request related to a problem? Please describe.

Under windows or mac with the desktop application, it is possible to share a single opened application, the entire desktop or, if you have multiple monitors, a single monitor. This is not possible in teams for linux.

Describe the solution you'd like

If this is not a limitation of the web version, I'd like to have the choice of sharing the entire desktop or only one of the monitors in a multi-monitor setup.

known issuworkaround wontfix

Most helpful comment

I now the issue is closed, but there is a patch for this Chrome Issue:
https://webrtc-review.googlesource.com/c/src/+/156067/

It's on review right now.

All 17 comments

Hi,

This is a chrome issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=396091

Its been open since 2014... and is assign to someone and last comment was only 4 days ago... so is moving but slowly.

I will close as we can't really fix this.

Not ideal, but a workaround, you can disconnect the external monitor if you want to share the full monitor... hope helps.

Thanks for your quick reply.

Hello @IsmaelMartinez
Is there any way we can achieve this with the workaround mentioned in https://bugs.chromium.org/p/chromium/issues/detail?id=396091 (https://github.com/Ashark/hliss)

This is really the list missing feature.

Regards,
Seb

@syepes , thanks for sharing. That hliss seems to be quite a tricky solution as, for what I understand with a quick read, it will imply recompiling the chrome that electron has... So recompile electron also.

A hack way using ffmpeg might be possible but will probably be lots of work... If really feasible.

Thanks for looking and let's keep checking as it is strange this one is a wontfix in chrome.

I now the issue is closed, but there is a patch for this Chrome Issue:
https://webrtc-review.googlesource.com/c/src/+/156067/

It's on review right now.

Hi,
can this be reopened? I was just able to get the webrtc patches applied on chromium browser version 80.0.3987.87 and single screen sharing is supported there. See attached.

Cheers,
-N
Screenshot_2020-02-07_15-03-27

Hi @nkichukov, Thanks for the update.

Unfortunately, we can't move to anything above electron 4 as from electron 5 the screensharing fails (and a few other things). (at least until version 7-beta)

I haven't tried with electron 8 (that will be chromium 80.0.3987.86) but feel free to try it and/or report back here if you plan to work on it. Happy to help but got pretty busy with plenty of other things at the moment.

Yes, send me the instructions on how to compile it and I can give it a try.

Cheers,
-N

Hi @nkichukov , the instructions are in here
https://github.com/IsmaelMartinez/teams-for-linux/blob/develop/CONTRIBUTING.md#run-from-source

And the way to update is by using yarn update and/or just modify the package.json file in the root directory and set the electron version to its latest (currently 8.0.0).

The main work then is testing... you should be able to test most of it without needing to compile.

Hi @IsmaelMartinez ,
thanks for direction.

I am using yarn-1.22.0, the current spellchecker revdependency does not compile, so I changed it to electron-spellchecker-2.2.1, then I saw it fetched: @felixrieseberg/spellchecker v4.0.12 automatically.

Anyways, compiling from source and starting the project generates an error for electron 8.0.0 and also electron v9.0.0-beta3 where some additional code changes may be required:

https://imgur.com/cSKXjU9.png

Hi @nkichukov ,

I did try to migrate to electron 6. Info in here https://github.com/IsmaelMartinez/teams-for-linux/issues/156

I will check if somehow I still got that branch somewhere, but I suspect it鈥檚 gone.

Thanks for trying to migrate.

Seems like a fix has been merged:
https://webrtc-review.googlesource.com/c/src/+/165724

But in what release I have no idea

Hi @joakim-tjernlund , unfortunately we are sort of stuck in version 4ish of electron. Feel free to try to get version 6 running. I believe the main blocker (screenshare) can now be fixed if reimplemented in another way, but I got only time to do a bit of support in here. Thanks for the link!

I just played a bit with building teams and once I had updated spellchecker to 3.7.1 I could build with much newer
electron, even up to 12.0.4
I think there is official screen sharing in recent electron?

This starts:

--- a/package.json
+++ b/package.json
@@ -38,11 +38,11 @@
     "electron-editor-context-menu": "1.1.1",
     "electron-native-notification": "1.2.1",
     "electron-window-state": "5.0.3",
-    "spellchecker": "3.7.0",
-    "yargs": "16.0.0"
+    "spellchecker": "3.7.1",
+    "yargs": "16.0.3"
   },
   "devDependencies": {
-    "electron": "4.2.8",
+    "electron": "4.2.12",
     "electron-builder": "22.5.1",
     "eslint": "5.16.0",
     "yarn": "1.22.4"

I even regenerated yarn.lock to latest for all deps, quite a lot needed refreshing.

With that one can build against any newer electron but it won't start as javascripts needs tweaking.

Hi @joakim-tjernlund , if you want to play around with the new electron version, you can check the branch in https://github.com/IsmaelMartinez/teams-for-linux/tree/feature-156-move-electron-6 (is to electron 6 but you can check electron 10 etc).

I think mostly works, but screen sharing and others aren't. maybe it does with the newer version (not sure, not unfortunately have the time to dedicate to it now... maybe soon.).

Hi @joakim-tjernlund , if you want to play around with the new electron version, you can check the branch in https://github.com/IsmaelMartinez/teams-for-linux/tree/feature-156-move-electron-6 (is to electron 6 but you can check electron 10 etc).

I think mostly works, but screen sharing and others aren't. maybe it does with the newer version (not sure, not unfortunately have the time to dedicate to it now... maybe soon.).

I don't know this programming language so that will be hard for me. I just figured you could do the updates I listed above meanwhile(including regen of yarn.lock). Then you have a better base to start from

Was this page helpful?
0 / 5 - 0 ratings