diff --git a/src/main/app.ts b/src/main/app.ts index b5b94718..9d92ae5a 100644 --- a/src/main/app.ts +++ b/src/main/app.ts @@ -234,7 +234,11 @@ const createWindow = () => { win && win.loadURL(getUrl()) restoreWindowBounds() win.on('ready-to-show', () => { - win!.show() + if (config.get('hide-main-window-on-startup', false)) { + hideWindow() + } else { + win!.show() + } skipBeforeUnloadCheck = false }) diff --git a/src/renderer/others/setting-schema.ts b/src/renderer/others/setting-schema.ts index 8c509a1e..a5660051 100644 --- a/src/renderer/others/setting-schema.ts +++ b/src/renderer/others/setting-schema.ts @@ -322,6 +322,14 @@ const schema: SettingSchema = ({ format: 'checkbox', required: true, }, + 'hide-main-window-on-startup': { + defaultValue: false, + title: 'T_setting-panel.schema.hide-main-window-on-startup', + type: 'boolean', + group: 'other', + format: 'checkbox', + required: true, + }, envs: { defaultValue: '', title: 'T_setting-panel.schema.envs', diff --git a/src/renderer/types.ts b/src/renderer/types.ts index 6b1e4ac1..2d0cbbcc 100644 --- a/src/renderer/types.ts +++ b/src/renderer/types.ts @@ -326,6 +326,7 @@ export interface BuildInSettings { 'extension.registry': RegistryHostname, 'extension.auto-upgrade': boolean, 'keep-running-after-closing-window': boolean, + 'hide-main-window-on-startup': boolean, 'plantuml-api': string, } diff --git a/src/share/i18n/languages/en.ts b/src/share/i18n/languages/en.ts index d5c974a9..2acef741 100644 --- a/src/share/i18n/languages/en.ts +++ b/src/share/i18n/languages/en.ts @@ -432,6 +432,7 @@ const data = { 'replace-placeholder': '%foo% -> BAR', }, 'hide-main-window-on-startup': 'Hide Main Window on Startup', + 'keep-running-after-closing-window': 'Keep Running after Closing Window', } }, 'quick-open': { diff --git a/src/share/i18n/languages/zh-CN.ts b/src/share/i18n/languages/zh-CN.ts index dc2c0da6..ee5ab611 100644 --- a/src/share/i18n/languages/zh-CN.ts +++ b/src/share/i18n/languages/zh-CN.ts @@ -423,6 +423,7 @@ const data: BaseLanguage = { 'replace-placeholder': '%foo% -> BAR', }, 'keep-running-after-closing-window': '关闭窗口后保持运行', + 'hide-main-window-on-startup': '启动时隐藏主窗口', }, 'tabs': { 'repos': '仓库',