feat(electron): add Windows close-to-tray behavior

This commit is contained in:
digua committed 2026-08-07 20:29:37 +08:00
1 parent b7f59a75ea
commit 35880228b7
27 files changed
+496 -16

No files matched your search

+7 -1
View File
@@ -2,7 +2,7 @@
* 核心 API - 基础 IPC 通信和系统功能
*/
import { ipcRenderer } from 'electron'
import type { AnalyticsEventName } from '@openchatlab/shared-types'
import type { AnalyticsEventName, DesktopCloseBehavior } from '@openchatlab/shared-types'
// Custom APIs for renderer
export const api = {
@@ -117,5 +117,11 @@ export const extendedApi = {
setOpenAtLogin: (enabled: boolean): Promise<{ success: boolean; error?: string }> => {
return ipcRenderer.invoke('app:setOpenAtLogin', enabled)
},
getDesktopCloseBehavior: (): Promise<DesktopCloseBehavior> => {
return ipcRenderer.invoke('app:getDesktopCloseBehavior')
},
setDesktopCloseBehavior: (behavior: DesktopCloseBehavior): Promise<{ success: boolean; error?: string }> => {
return ipcRenderer.invoke('app:setDesktopCloseBehavior', behavior)
},
},
}
+3 -1
View File
@@ -1,7 +1,7 @@
import { ElectronAPI } from '@electron-toolkit/preload'
import type { ImportProgress, ExportProgress } from '../../../src/types/base'
import type { TokenUsage, AgentRuntimeStatus, SerializedErrorInfo, SecurityApi } from '../shared/types'
import type { AnalyticsEventName, TimeFilter } from '@openchatlab/shared-types'
import type { AnalyticsEventName, DesktopCloseBehavior, TimeFilter } from '@openchatlab/shared-types'
// 迁移相关类型
interface MigrationInfo {
@@ -192,6 +192,8 @@ interface Api {
relaunch: () => Promise<void>
getOpenAtLogin: () => Promise<boolean>
setOpenAtLogin: (enabled: boolean) => Promise<{ success: boolean; error?: string }>
getDesktopCloseBehavior: () => Promise<DesktopCloseBehavior>
setDesktopCloseBehavior: (behavior: DesktopCloseBehavior) => Promise<{ success: boolean; error?: string }>
}
}