From c2bda907e0d438a8d0cad5b2cb834e90e7c2c405 Mon Sep 17 00:00:00 2001 From: Nexmoe <16796652+nexmoe@users.noreply.github.com> Date: Fri, 19 Dec 2025 18:06:25 +0800 Subject: [PATCH] Default auto-launch at login --- src/main/index.ts | 16 ++++++++++++++-- src/shared/types/index.ts | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/index.ts b/src/main/index.ts index e193014..294b38c 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -44,7 +44,7 @@ subscriptionManager.on('subscriptions:updated', (subscriptions) => { mainWindow?.webContents.send('subscriptions:updated', subscriptions) }) -export function createWindow(): void { +export function createWindow(startHidden = false): void { const isMac = process.platform === 'darwin' const isWindows = process.platform === 'win32' @@ -86,6 +86,9 @@ export function createWindow(): void { }) mainWindow.on('ready-to-show', () => { + if (startHidden) { + return + } mainWindow?.show() }) @@ -298,10 +301,19 @@ app.whenReady().then(async () => { log.error('Failed to initialize yt-dlp:', error) } + if (!settingsManager.get('launchAtLogin')) { + settingsManager.set('launchAtLogin', true) + } + applyDockVisibility(settingsManager.get('hideDockIcon')) applyAutoLaunchSetting(settingsManager.get('launchAtLogin')) - createWindow() + const loginItemSettings = app.getLoginItemSettings() + const startHidden = + settingsManager.get('launchAtLogin') && + (loginItemSettings.wasOpenedAtLogin || loginItemSettings.wasOpenedAsHidden) + + createWindow(startHidden) initAutoUpdater() diff --git a/src/shared/types/index.ts b/src/shared/types/index.ts index 93b31e5..183f2aa 100644 --- a/src/shared/types/index.ts +++ b/src/shared/types/index.ts @@ -289,7 +289,7 @@ export const defaultSettings: AppSettings = { oneClickQuality: 'best', closeToTray: false, hideDockIcon: false, - launchAtLogin: false, + launchAtLogin: true, autoUpdate: true, subscriptionFilenameTemplate: '%(uploader)s - %(title)s.%(ext)s', subscriptionOnlyLatestDefault: true,