diff --git a/ui/autoMate/src/main/code/index.ts b/ui/autoMate/src/main/code/index.ts index fd07076..4d9852d 100644 --- a/ui/autoMate/src/main/code/index.ts +++ b/ui/autoMate/src/main/code/index.ts @@ -1,9 +1,13 @@ import { app } from 'electron' import { createWindow } from './window' +import * as ipc from './ipc' +import { registerShortCut } from './shortcut' app.whenReady().then(() => { - createWindow() + const window = createWindow() + ipc.registerIpc(window) + registerShortCut(window) }) diff --git a/ui/autoMate/src/main/ipc.ts b/ui/autoMate/src/main/code/ipc.ts similarity index 100% rename from ui/autoMate/src/main/ipc.ts rename to ui/autoMate/src/main/code/ipc.ts diff --git a/ui/autoMate/src/main/code/shortCut.ts b/ui/autoMate/src/main/code/shortCut.ts new file mode 100644 index 0000000..a1b7a5a --- /dev/null +++ b/ui/autoMate/src/main/code/shortCut.ts @@ -0,0 +1,19 @@ +import { BrowserWindow } from "electron" + +const { app, globalShortcut } = require('electron') +export const registerShortCut = (win: BrowserWindow) => { +app.whenReady().then(() => { + // Register a 'CommandOrControl+X' shortcut listener. + const ret = globalShortcut.register('CommandOrControl+X', () => { + win.show() + }) + + if (!ret) { + console.log('registration failed') + } +}) + +app.on('will-quit', () => { + // Unregister all shortcuts. + globalShortcut.unregisterAll() +})} \ No newline at end of file diff --git a/ui/autoMate/src/main/code/window.ts b/ui/autoMate/src/main/code/window.ts index 270fd99..cc6f532 100644 --- a/ui/autoMate/src/main/code/window.ts +++ b/ui/autoMate/src/main/code/window.ts @@ -2,10 +2,9 @@ import { BrowserWindow, shell } from 'electron' import { is } from '@electron-toolkit/utils' import icon from '../../../resources/icon.png?asset' -import * as ipc from '../ipc' import { join } from 'path' -export function createWindow(): void { // Create the browser window. +export function createWindow(): BrowserWindow { // Create the browser window. const mainWindow = new BrowserWindow({ width: 600, height: 350, @@ -20,7 +19,6 @@ export function createWindow(): void { // Create the browser window. sandbox: false } }) - ipc.registerIpc(mainWindow) mainWindow.webContents.openDevTools() mainWindow.on('ready-to-show', () => { @@ -39,5 +37,7 @@ export function createWindow(): void { // Create the browser window. } else { mainWindow.loadFile(join(__dirname, '../renderer/index.html')) } + + return mainWindow } \ No newline at end of file diff --git a/ui/autoMate/src/main/index.ts b/ui/autoMate/src/main/index.ts index 0bd3493..15b18f7 100644 --- a/ui/autoMate/src/main/index.ts +++ b/ui/autoMate/src/main/index.ts @@ -1,11 +1,11 @@ import { app, BrowserWindow, ipcMain } from 'electron' import { electronApp, optimizer } from '@electron-toolkit/utils' -import { createWindow } from './code/window' - +import "./code" // This method will be called when Electron has finished // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. app.whenReady().then(() => { + // Set app user model id for windows electronApp.setAppUserModelId('com.electron')