[MM-49743] Remove screen change listeners due to electron's bug (#2506)

* Remove screen change listeners due to electron bug

* Remove unused functions
This commit is contained in:
Tasos Boulis
2023-01-20 11:09:26 +02:00
committed by GitHub
parent 4131f8fb66
commit 94120a0315
2 changed files with 2 additions and 45 deletions

View File

@@ -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');

View File

@@ -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) => {