diff --git a/src/main/index.ts b/src/main/index.ts index dda49b782e..ad6879dfa5 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -17,7 +17,7 @@ import { import { registerShortcuts } from './services/ShortcutService' import { TrayService } from './services/TrayService' import { windowService } from './services/WindowService' -import { setAppDataDir } from './utils/file' +import { setUserDataDir } from './utils/file' // Check for single instance lock if (!app.requestSingleInstanceLock()) { @@ -56,7 +56,7 @@ if (!app.requestSingleInstanceLock()) { replaceDevtoolsFont(mainWindow) - setAppDataDir() + setUserDataDir() // Setup deep link for AppImage on Linux await setupAppImageDeepLink() diff --git a/src/main/utils/file.ts b/src/main/utils/file.ts index 7d120801bc..25a4ed7323 100644 --- a/src/main/utils/file.ts +++ b/src/main/utils/file.ts @@ -2,7 +2,7 @@ import * as fs from 'node:fs' import os from 'node:os' import path from 'node:path' -import { isPortable } from '@main/constant' +import { isMac } from '@main/constant' import { audioExts, documentExts, imageExts, textExts, videoExts } from '@shared/config/constant' import { FileType, FileTypes } from '@types' import { app } from 'electron' @@ -85,11 +85,11 @@ export function getAppConfigDir(name: string) { return path.join(getConfigDir(), name) } -export function setAppDataDir() { - if (isPortable) { +export function setUserDataDir() { + if (!isMac) { const dir = path.join(path.dirname(app.getPath('exe')), 'data') - if (fs.existsSync(dir)) { - app.setPath('appData', dir) + if (fs.existsSync(dir) && fs.statSync(dir).isDirectory()) { + app.setPath('userData', dir) } } }