feat: implement tray functionality with status updates and localization support

This commit is contained in:
duanshuwen
2026-04-22 07:19:53 +08:00
parent 197f644d53
commit be8298af2f
6 changed files with 341 additions and 120 deletions

View File

@@ -5,17 +5,17 @@ import { windowManager } from '@electron/service/window-service'
import { menuManager } from '@electron/service/menu-service'
import { logManager } from '@electron/service/logger'
import { configManager } from '@electron/service/config-service'
import { trayManager } from '@electron/service/tray-service'
import { TabManager } from '@service/tab-manager'
import { registerWindowHandlers } from '@electron/ipc/window-handlers'
import { createTray, destroyTray } from '@electron/main/tray'
const handleTray = (minimizeToTray: boolean) => {
const handleTray = (minimizeToTray: boolean, mainWindow: BrowserWindow) => {
if (minimizeToTray) {
trayManager.create();
createTray(mainWindow);
return;
}
trayManager.destroy();
destroyTray();
}
const registerMenus = (window: BrowserWindow) => {
@@ -105,10 +105,10 @@ export function setupMainWindow() {
configManager.onConfigChange((config) => {
if (minimizeToTray === config[CONFIG_KEYS.MINIMIZE_TO_TRAY]) return;
minimizeToTray = config[CONFIG_KEYS.MINIMIZE_TO_TRAY];
handleTray(minimizeToTray);
handleTray(minimizeToTray, mainWindow);
});
handleTray(minimizeToTray);
handleTray(minimizeToTray, mainWindow);
registerMenus(mainWindow);
registerWindowHandlers(mainWindow);