Merge pull request #152 from ente-io/add-register-foreground-event-api

app  in forground event listener
This commit is contained in:
Abhinav Kumar 2023-02-23 16:30:26 +05:30 committed by GitHub
commit 15cbe95a20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 0 deletions

View file

@ -20,6 +20,13 @@ export const registerUpdateEventListener = (
}); });
}; };
export const registerForegroundEventListener = (onForeground: () => void) => {
ipcRenderer.removeAllListeners('app-in-foreground');
ipcRenderer.on('app-in-foreground', () => {
onForeground();
});
};
export const updateAndRestart = () => { export const updateAndRestart = () => {
ipcRenderer.send('update-and-restart'); ipcRenderer.send('update-and-restart');
}; };

View file

@ -20,6 +20,7 @@ import { initSentry } from './services/sentry';
import { setupLogging } from './utils/logging'; import { setupLogging } from './utils/logging';
import { isDev } from './utils/common'; import { isDev } from './utils/common';
import { setupMainProcessStatsLogger } from './utils/processStats'; import { setupMainProcessStatsLogger } from './utils/processStats';
import { setupAppEventEmitter } from './utils/events';
let mainWindow: BrowserWindow; let mainWindow: BrowserWindow;
@ -82,6 +83,7 @@ if (!gotTheLock) {
handleDownloads(mainWindow); handleDownloads(mainWindow);
handleExternalLinks(mainWindow); handleExternalLinks(mainWindow);
addAllowOriginHeader(mainWindow); addAllowOriginHeader(mainWindow);
setupAppEventEmitter(mainWindow);
}); });
app.on('before-quit', () => setIsAppQuitting(true)); app.on('before-quit', () => setIsAppQuitting(true));

View file

@ -6,6 +6,7 @@ import {
updateAndRestart, updateAndRestart,
skipAppUpdate, skipAppUpdate,
muteUpdateNotification, muteUpdateNotification,
registerForegroundEventListener,
} from './api/system'; } from './api/system';
import { import {
showUploadDirsDialog, showUploadDirsDialog,
@ -111,4 +112,5 @@ windowObject['ElectronAPIs'] = {
muteUpdateNotification, muteUpdateNotification,
generateImageThumbnail, generateImageThumbnail,
logRendererProcessMemoryUsage, logRendererProcessMemoryUsage,
registerForegroundEventListener,
}; };

8
src/utils/events.ts Normal file
View file

@ -0,0 +1,8 @@
import { BrowserWindow } from 'electron';
export function setupAppEventEmitter(mainWindow: BrowserWindow) {
// fire event when mainWindow is in foreground
mainWindow.on('focus', () => {
mainWindow.webContents.send('app-in-foreground');
});
}