Merge pull request #152 from ente-io/add-register-foreground-event-api
app in forground event listener
This commit is contained in:
commit
15cbe95a20
|
@ -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');
|
||||||
};
|
};
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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
8
src/utils/events.ts
Normal 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');
|
||||||
|
});
|
||||||
|
}
|
Loading…
Reference in a new issue