From 94120a03151bfcfd8ceb036a1d674d1996e22852 Mon Sep 17 00:00:00 2001 From: Tasos Boulis Date: Fri, 20 Jan 2023 11:09:26 +0200 Subject: [PATCH] [MM-49743] Remove screen change listeners due to electron's bug (#2506) * Remove screen change listeners due to electron bug * Remove unused functions --- src/main/app/initialize.ts | 9 +------- src/main/windows/windowManager.ts | 38 +------------------------------ 2 files changed, 2 insertions(+), 45 deletions(-) diff --git a/src/main/app/initialize.ts b/src/main/app/initialize.ts index 06ace5b9..e9e22000 100644 --- a/src/main/app/initialize.ts +++ b/src/main/app/initialize.ts @@ -3,7 +3,7 @@ import path from 'path'; -import {app, ipcMain, screen, session} from 'electron'; +import {app, ipcMain, session} from 'electron'; import installExtension, {REACT_DEVELOPER_TOOLS} from 'electron-devtools-installer'; import isDev from 'electron-is-dev'; import log from 'electron-log'; @@ -119,8 +119,6 @@ export async function initialize() { app.whenReady(), ]); - initializeScreenEventListeners(); - // no need to continue initializing if app is quitting if (global.willAppQuit) { return; @@ -190,11 +188,6 @@ function initializeAppEventListeners() { app.on('will-finish-launching', handleAppWillFinishLaunching); } -function initializeScreenEventListeners() { - screen.on('display-removed', WindowManager.displayRemoved); - screen.on('display-metrics-changed', WindowManager.displayMetricsChanged); -} - function initializeBeforeAppReady() { if (!Config.data) { log.error('No config loaded'); diff --git a/src/main/windows/windowManager.ts b/src/main/windows/windowManager.ts index 78b52aa7..ab050aff 100644 --- a/src/main/windows/windowManager.ts +++ b/src/main/windows/windowManager.ts @@ -4,7 +4,7 @@ /* eslint-disable max-lines */ import path from 'path'; -import {app, BrowserWindow, nativeImage, systemPreferences, ipcMain, IpcMainEvent, IpcMainInvokeEvent, desktopCapturer, Display, screen} from 'electron'; +import {app, BrowserWindow, nativeImage, systemPreferences, ipcMain, IpcMainEvent, IpcMainInvokeEvent, desktopCapturer} from 'electron'; import log from 'electron-log'; import { @@ -255,42 +255,6 @@ export class WindowManager { this.sendToRenderer(MAXIMIZE_CHANGE, false); } - maximizeMainWindow = () => { - if (!(this.viewManager && this.mainWindow)) { - return; - } - this.mainWindow.maximize?.(); - } - - displayRemoved = (event: Event, oldDisplay: Display) => { - log.debug('WindowManager.displayRemoved', {oldDisplay}); - - if (!oldDisplay) { - return; - } - - if (this.isActiveScreen(oldDisplay.id)) { - this.maximizeMainWindow(); - } - } - - displayMetricsChanged = (event: Event, display: Display, changedMetrics: string[]) => { - log.debug('WindowManager.displayMetricsChanged', {display, changedMetrics}); - - this.maximizeMainWindow(); - } - - isActiveScreen = (id: Display['id']): boolean => { - if (!(this.viewManager && this.mainWindow)) { - return false; - } - - const mainWindowBounds = this.mainWindow.getBounds(); - const currentDisplay = screen.getDisplayNearestPoint({x: mainWindowBounds.x, y: mainWindowBounds.y}); - log.debug('WindowManager.isActiveScreen', {id, currentDisplay}); - return currentDisplay.id === id; - } - isResizing = false; handleWillResizeMainWindow = (event: Event, newBounds: Electron.Rectangle) => {