mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-23 10:45:57 +00:00
39 lines
1 KiB
TypeScript
39 lines
1 KiB
TypeScript
import { app, BrowserWindow } from 'electron';
|
|
import { info } from 'electron-log/main';
|
|
import { getWin } from './main-window';
|
|
import { hideOverlayWindow } from './overlay-indicator/overlay-indicator';
|
|
import { setIsQuiting } from './shared-state';
|
|
|
|
// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
|
|
export function quitApp(): void {
|
|
setIsQuiting(true);
|
|
app.quit();
|
|
}
|
|
|
|
// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
|
|
export function showOrFocus(passedWin: BrowserWindow): void {
|
|
// default to main winpc
|
|
const win = passedWin || getWin();
|
|
|
|
// sometimes when starting a second instance we get here although we don't want to
|
|
if (!win) {
|
|
info(
|
|
'special case occurred when showOrFocus is called even though, this is a second instance of the app',
|
|
);
|
|
return;
|
|
}
|
|
|
|
if (win.isVisible()) {
|
|
win.focus();
|
|
} else {
|
|
win.show();
|
|
}
|
|
|
|
// Hide overlay when main window is shown
|
|
hideOverlayWindow();
|
|
|
|
// focus window afterwards always
|
|
setTimeout(() => {
|
|
win.focus();
|
|
}, 60);
|
|
}
|