diff --git a/app/index.js b/app/index.js index ea89608..98f4a90 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 fs = require('fs'); const { LucidLog } = require('lucid-log'); @@ -97,7 +97,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.handle('getCustomBGList', handleGetCustomBGList); ipcMain.on('play-notification-sound', playNotificationSound); ipcMain.on('user-status-changed', userStatusChangedHandler);