feat: implement launch minimized option

This commit is contained in:
Hachi-R 2024-10-30 15:38:17 -03:00
parent 7af56cd7cc
commit 9e020652c9
4 changed files with 10 additions and 5 deletions

View File

@ -16,15 +16,16 @@ const windowsStartupPath = path.join(
const autoLaunch = async ( const autoLaunch = async (
_event: Electron.IpcMainInvokeEvent, _event: Electron.IpcMainInvokeEvent,
enabled: boolean autoLaunchProps: { enabled: boolean; minimized: boolean }
) => { ) => {
if (!app.isPackaged) return; if (!app.isPackaged) return;
const appLauncher = new AutoLaunch({ const appLauncher = new AutoLaunch({
name: app.getName(), name: app.getName(),
isHidden: autoLaunchProps.minimized,
}); });
if (enabled) { if (autoLaunchProps.enabled) {
appLauncher.enable().catch((err) => { appLauncher.enable().catch((err) => {
logger.error(err); logger.error(err);
}); });

View File

@ -101,7 +101,8 @@ contextBridge.exposeInMainWorld("electron", {
getUserPreferences: () => ipcRenderer.invoke("getUserPreferences"), getUserPreferences: () => ipcRenderer.invoke("getUserPreferences"),
updateUserPreferences: (preferences: UserPreferences) => updateUserPreferences: (preferences: UserPreferences) =>
ipcRenderer.invoke("updateUserPreferences", preferences), ipcRenderer.invoke("updateUserPreferences", preferences),
autoLaunch: (enabled: boolean) => ipcRenderer.invoke("autoLaunch", enabled), autoLaunch: (autoLaunchProps: { enabled: boolean; minimized: boolean }) =>
ipcRenderer.invoke("autoLaunch", autoLaunchProps),
authenticateRealDebrid: (apiToken: string) => authenticateRealDebrid: (apiToken: string) =>
ipcRenderer.invoke("authenticateRealDebrid", apiToken), ipcRenderer.invoke("authenticateRealDebrid", apiToken),

View File

@ -114,7 +114,9 @@ declare global {
updateUserPreferences: ( updateUserPreferences: (
preferences: Partial<UserPreferences> preferences: Partial<UserPreferences>
) => Promise<void>; ) => Promise<void>;
autoLaunch: (enabled: boolean) => Promise<void>; autoLaunch: (
autoLaunchProps: { enabled?: boolean; minimized?: boolean }
) => Promise<void>;
authenticateRealDebrid: (apiToken: string) => Promise<RealDebridUser>; authenticateRealDebrid: (apiToken: string) => Promise<RealDebridUser>;
/* Download sources */ /* Download sources */

View File

@ -62,7 +62,7 @@ export function SettingsBehavior() {
label={t("launch_with_system")} label={t("launch_with_system")}
onChange={() => { onChange={() => {
handleChange({ runAtStartup: !form.runAtStartup }); handleChange({ runAtStartup: !form.runAtStartup });
window.electron.autoLaunch(!form.runAtStartup); window.electron.autoLaunch({ enabled: !form.runAtStartup });
}} }}
checked={form.runAtStartup} checked={form.runAtStartup}
/> />
@ -77,6 +77,7 @@ export function SettingsBehavior() {
disabled={!form.runAtStartup} disabled={!form.runAtStartup}
onChange={() => { onChange={() => {
handleChange({ startMinimized: !form.startMinimized }); handleChange({ startMinimized: !form.startMinimized });
window.electron.autoLaunch({ minimized: !form.startMinimized });
}} }}
/> />
</div> </div>