diff --git a/ui/autoMate/src/main/code/ignoreMouseEvents.ts b/ui/autoMate/src/main/code/ignoreMouseEvents.ts deleted file mode 100644 index 9ef5ed8..0000000 --- a/ui/autoMate/src/main/code/ignoreMouseEvents.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { BrowserWindow, IpcMainEvent, ipcMain } from "electron" - -export default (win: BrowserWindow) => { - -} - diff --git a/ui/autoMate/src/main/code/index.ts b/ui/autoMate/src/main/code/index.ts deleted file mode 100644 index c77dd90..0000000 --- a/ui/autoMate/src/main/code/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { app } from 'electron' -import { createWindow } from './window' -import * as ipc from './ipc' -import { registerShortCut } from './shortCut' -import ignoreMouseEvents from './ignoreMouseEvents' - - -app.whenReady().then(() => { - const win = createWindow() - ipc.registerIpc(win) - registerShortCut(win) - ignoreMouseEvents(win) -}) - - diff --git a/ui/autoMate/src/main/code/ipc.ts b/ui/autoMate/src/main/code/ipc.ts deleted file mode 100644 index e5c66d9..0000000 --- a/ui/autoMate/src/main/code/ipc.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {ipcMain, BrowserWindow} from "electron"; -import { createConfigWindow } from "../config"; -export const registerIpc = (win: BrowserWindow)=>{ -ipcMain.on('hideWindow', () => { - win.hide() -}) - -ipcMain.on('openConfigWindow', () => { - createConfigWindow() -}) -} diff --git a/ui/autoMate/src/main/code/shortCut.ts b/ui/autoMate/src/main/code/shortCut.ts deleted file mode 100644 index dd1427b..0000000 --- a/ui/autoMate/src/main/code/shortCut.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { BrowserWindow, IpcMainInvokeEvent } from "electron" -import { ipcMain } from "electron" -const { app, globalShortcut } = require('electron') - -const config = { - search: "" -} -export const registerShortCut = (win: BrowserWindow) => { - - ipcMain.handle("shortCut", (_event: IpcMainInvokeEvent, type: 'search', shortCut: string) => { - // react 严格模式会执行两次,可能会导致快捷键重复注册,这里在注册前会删除旧快捷键,也用户注册过快捷键想修改成其他快捷键 - if (config.search) globalShortcut.unregister(config.search) - config.search = shortCut - switch(type){ - case 'search': - return registerSearchShortCut(shortCut, win) - } - }) -} - -function registerSearchShortCut(shortCut: string, win: BrowserWindow){ - const res = globalShortcut.register(shortCut, () => { - win.isVisible() ? win.hide() : win.show() - }) - return res -} -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 deleted file mode 100644 index 23d46a4..0000000 --- a/ui/autoMate/src/main/code/window.ts +++ /dev/null @@ -1,44 +0,0 @@ - -import { BrowserWindow, shell } from 'electron' -import { is } from '@electron-toolkit/utils' -import icon from '../../../resources/icon.png?asset' -import { join } from 'path' - -export function createWindow(): BrowserWindow { // Create the browser window. - const win = new BrowserWindow({ - width: 500, - height: 350, - center: true, - show: false, - frame: false, - transparent: true, - // alwaysOnTop: true, - autoHideMenuBar: true, - ...(process.platform === 'linux' ? { icon } : {}), - webPreferences: { - preload: join(__dirname, '../preload/index.js'), - sandbox: false - } - }) - - win.webContents.openDevTools() - win.on('ready-to-show', () => { - win.show() - }) - - win.webContents.setWindowOpenHandler((details) => { - shell.openExternal(details.url) - return { action: 'deny' } - }) - - // HMR for renderer base on electron-vite cli. - // Load the remote URL for development or the local html file for production. - if (is.dev && process.env['ELECTRON_RENDERER_URL']) { - win.loadURL(process.env['ELECTRON_RENDERER_URL']) - } else { - win.loadFile(join(__dirname, '../renderer/index.html')) - } - - return win - } - \ No newline at end of file diff --git a/ui/autoMate/src/main/config/index.ts b/ui/autoMate/src/main/config/index.ts deleted file mode 100644 index b63cbc1..0000000 --- a/ui/autoMate/src/main/config/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BrowserWindow } from "electron" -import { createWindow } from "./window" -let win = null as null|BrowserWindow -const createConfigWindow=()=>{ - // 解决重复创建窗口 - if(!win) win = createWindow() - // 窗口关闭时,将win置为null,可再次打开 - win.on("closed", ()=>{ - win = null - }) -} - -export { createConfigWindow } diff --git a/ui/autoMate/src/main/config/window.ts b/ui/autoMate/src/main/config/window.ts deleted file mode 100644 index 816911b..0000000 --- a/ui/autoMate/src/main/config/window.ts +++ /dev/null @@ -1,53 +0,0 @@ - -import { BrowserWindow, shell } from 'electron' -import { is } from '@electron-toolkit/utils' -import icon from '../../../resources/icon.png?asset' -import { join } from 'path' -import url from 'node:url' - -export function createWindow(): BrowserWindow { // Create the browser window. - const win = new BrowserWindow({ - width: 1250, - height: 750, - center: true, - show: false, - frame: true, - transparent: false, - // alwaysOnTop: true, - autoHideMenuBar: true, - ...(process.platform === 'linux' ? { icon } : {}), - webPreferences: { - preload: join(__dirname, '../preload/index.js'), - sandbox: false - } - }) - - win.webContents.openDevTools() - win.on('ready-to-show', () => { - win.show() - }) - - win.webContents.setWindowOpenHandler((details) => { - shell.openExternal(details.url) - return { action: 'deny' } - }) - - // HMR for renderer base on electron-vite cli. - // Load the remote URL for development or the local html file for production. - if (is.dev && process.env['ELECTRON_RENDERER_URL']) { - // win.loadURL(process.env['ELECTRON_RENDERER_URL'] + "/#config/category/contentList") - win.loadURL(process.env['ELECTRON_RENDERER_URL'] + "/#config/category/contentList") - } else { - win.loadURL( - url.format({ - pathname: join(__dirname, '../renderer/index.html'), - protocol: 'file', - slashes: true, - hash: 'config/category/contentList' - }) - ) - } - - return win - } - \ No newline at end of file diff --git a/ui/autoMate/src/main/index.ts b/ui/autoMate/src/main/index.ts index 87670d3..0d142b2 100644 --- a/ui/autoMate/src/main/index.ts +++ b/ui/autoMate/src/main/index.ts @@ -1,9 +1,9 @@ import { app, ipcMain } from 'electron' import { electronApp, optimizer } from '@electron-toolkit/utils' -// import "./code" import "./db" import "./windows" import "./ipc" +import "./shortCut" // This method will be called when Electron has finished // initialization and is ready to create browser windows. diff --git a/ui/autoMate/src/main/shortCut.ts b/ui/autoMate/src/main/shortCut.ts new file mode 100644 index 0000000..916c507 --- /dev/null +++ b/ui/autoMate/src/main/shortCut.ts @@ -0,0 +1,31 @@ +import { BrowserWindow, IpcMainInvokeEvent } from "electron" +import { ipcMain } from "electron" +import { getWindowByName } from "./windows" +const { app, globalShortcut } = require('electron') + +const config = { + search: "" +} + + +ipcMain.handle("shortCut", (_event: IpcMainInvokeEvent, type: 'search', shortCut: string) => { + // react 严格模式会执行两次,可能会导致快捷键重复注册,这里在注册前会删除旧快捷键,也用户注册过快捷键想修改成其他快捷键 + if (config.search) globalShortcut.unregister(config.search) + config.search = shortCut + switch(type){ + case 'search': + return registerSearchShortCut(getWindowByName('search'), shortCut) + } +}) + + +function registerSearchShortCut(win: BrowserWindow, shortCut: string){ + const res = globalShortcut.register(shortCut, () => { + win.isVisible() ? win.hide() : win.show() + }) + return res +} +app.on('will-quit', () => { + // Unregister all shortcuts. + globalShortcut.unregisterAll() +}) \ No newline at end of file