teams-for-linux: add hack fix for wayland screen-sharing
This commit is contained in:
parent
ec5ee07b1b
commit
6c15c20d94
@ -30,6 +30,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-3zjmVIPQ+F2jPQ2xkAv5hQUjr8k5jIHTsa73J+IMayw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Can be removed once Electron upstream resolves https://github.com/electron/electron/issues/36660
|
||||
./screensharing-wayland-hack-fix.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
|
||||
|
||||
configurePhase = ''
|
||||
|
@ -0,0 +1,28 @@
|
||||
diff --git a/app/index.js b/app/index.js
|
||||
index 20ccf43..b251f62 100644
|
||||
--- a/app/index.js
|
||||
+++ b/app/index.js
|
||||
@@ -1,4 +1,4 @@
|
||||
-const { app, ipcMain, desktopCapturer, systemPreferences, powerMonitor } = require('electron');
|
||||
+const { app, ipcMain, desktopCapturer, nativeImage, systemPreferences, powerMonitor } = require('electron');
|
||||
const path = require('path');
|
||||
const { LucidLog } = require('lucid-log');
|
||||
const isDev = require('electron-is-dev');
|
||||
@@ -93,7 +93,16 @@ if (!gotTheLock) {
|
||||
ipcMain.handle('getSystemIdleState', handleGetSystemIdleState);
|
||||
ipcMain.handle('getZoomLevel', handleGetZoomLevel);
|
||||
ipcMain.handle('saveZoomLevel', handleSaveZoomLevel);
|
||||
- ipcMain.handle('desktopCapturerGetSources', (event, opts) => desktopCapturer.getSources(opts));
|
||||
+ ipcMain.handle('desktopCapturerGetSources', (event, opts) => process.env.XDG_SESSION_TYPE == 'wayland' ?
|
||||
+ // Port wayland electron 22+ screenshare "fix" from webcord
|
||||
+ Promise.resolve([{
|
||||
+ id: "screen:1:0",
|
||||
+ appIcon: nativeImage.createEmpty(),
|
||||
+ display_id: "",
|
||||
+ name: "Entire Screen",
|
||||
+ thumbnail: nativeImage.createEmpty()
|
||||
+ }])
|
||||
+ : desktopCapturer.getSources(opts));
|
||||
ipcMain.on('play-notification-sound', playNotificationSound);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user