Переглянути джерело

quit sooner with single instance lock

Jeffrey Morgan 1 рік тому
батько
коміт
963c20254e
1 змінених файлів з 42 додано та 42 видалено
  1. 42 42
      app/src/index.ts

+ 42 - 42
app/src/index.ts

@@ -8,7 +8,11 @@ import { analytics, id } from './telemetry'
 require('@electron/remote/main').initialize()
 require('@electron/remote/main').initialize()
 
 
 let tray: Tray | null = null
 let tray: Tray | null = null
+
 const SingleInstanceLock = app.requestSingleInstanceLock()
 const SingleInstanceLock = app.requestSingleInstanceLock()
+if (!SingleInstanceLock) {
+  app.quit()
+}
 
 
 const createSystemtray = () => {
 const createSystemtray = () => {
   let brightModeIconPath = path.join(__dirname, '..', '..', 'assets', 'ollama_icon_dark_16x16.png')
   let brightModeIconPath = path.join(__dirname, '..', '..', 'assets', 'ollama_icon_dark_16x16.png')
@@ -108,53 +112,49 @@ function installCLI() {
     })
     })
 }
 }
 
 
-if (!SingleInstanceLock) {
-  app.quit()
-} else {
-  app.on('ready', () => {
-    if (process.platform === 'darwin') {
-      app.dock.hide()
-
-      if (!app.isInApplicationsFolder()) {
-        const chosen = dialog.showMessageBoxSync({
-          type: 'question',
-          buttons: ['Move to Applications', 'Do Not Move'],
-          message: 'Ollama works best when run from the Applications directory.',
-          defaultId: 0,
-          cancelId: 1,
-        })
-
-        if (chosen === 0) {
-          try {
-            app.moveToApplicationsFolder({
-              conflictHandler: conflictType => {
-                if (conflictType === 'existsAndRunning') {
-                  dialog.showMessageBoxSync({
-                    type: 'info',
-                    message: 'Cannot move to Applications directory',
-                    detail:
-                      'Another version of Ollama is currently running from your Applications directory. Close it first and try again.',
-                  })
-                }
-                return true
-              },
-            })
-            return
-          } catch (e) {
-            console.error('Failed to move to applications folder')
-            console.error(e)
-          }
+app.on('ready', () => {
+  if (process.platform === 'darwin') {
+    app.dock.hide()
+
+    if (!app.isInApplicationsFolder()) {
+      const chosen = dialog.showMessageBoxSync({
+        type: 'question',
+        buttons: ['Move to Applications', 'Do Not Move'],
+        message: 'Ollama works best when run from the Applications directory.',
+        defaultId: 0,
+        cancelId: 1,
+      })
+
+      if (chosen === 0) {
+        try {
+          app.moveToApplicationsFolder({
+            conflictHandler: conflictType => {
+              if (conflictType === 'existsAndRunning') {
+                dialog.showMessageBoxSync({
+                  type: 'info',
+                  message: 'Cannot move to Applications directory',
+                  detail:
+                    'Another version of Ollama is currently running from your Applications directory. Close it first and try again.',
+                })
+              }
+              return true
+            },
+          })
+          return
+        } catch (e) {
+          console.error('Failed to move to applications folder')
+          console.error(e)
         }
         }
       }
       }
     }
     }
+  }
 
 
-    createSystemtray()
+  createSystemtray()
 
 
-    if (app.isPackaged) {
-      installCLI()
-    }
-  })
-}
+  if (app.isPackaged) {
+    installCLI()
+  }
+})
 
 
 // Quit when all windows are closed, except on macOS. There, it's common
 // Quit when all windows are closed, except on macOS. There, it's common
 // for applications and their menu bar to stay active until the user quits
 // for applications and their menu bar to stay active until the user quits