app: fix #218 and keep dock open on install

This commit is contained in:
Jeffrey Morgan 2023-07-27 10:53:38 -04:00
parent 31673d26d0
commit dbb3174cbc
3 changed files with 12 additions and 6 deletions

View file

@ -2,7 +2,7 @@ import { useState } from 'react'
import copy from 'copy-to-clipboard'
import { CheckIcon, DocumentDuplicateIcon } from '@heroicons/react/24/outline'
import Store from 'electron-store'
import { getCurrentWindow } from '@electron/remote'
import { getCurrentWindow, app } from '@electron/remote'
import { install } from './install'
import OllamaIcon from './ollama.svg'
@ -107,6 +107,11 @@ export default function () {
<button
onClick={() => {
store.set('first-time-run', true)
if (process.platform === 'darwin') {
app.dock.hide()
}
window.close()
}}
className='no-drag rounded-dm mx-auto w-[60%] rounded-md bg-black px-4 py-2 text-sm text-white hover:brightness-110'

View file

@ -36,6 +36,7 @@ app.on('ready', () => {
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.exit(0)
return
}
app.on('second-instance', () => {
@ -56,10 +57,6 @@ app.on('ready', () => {
init()
})
if (process.platform === 'darwin') {
app.dock.hide()
}
function firstRunWindow() {
// Create the browser window.
welcomeWindow = new BrowserWindow({
@ -198,6 +195,10 @@ function init() {
server()
if (store.get('first-time-run') && installed()) {
if (process.platform === 'darwin') {
app.dock.hide()
}
app.setLoginItemSettings({ openAtLogin: app.getLoginItemSettings().openAtLogin })
return
}

View file

@ -15,7 +15,7 @@ export function installed() {
export async function install() {
const command = `do shell script "mkdir -p ${path.dirname(
symlinkPath
)} && ln -F -s ${ollama} ${symlinkPath}" with administrator privileges`
)} && ln -F -s \\"${ollama}\\" \\"${symlinkPath}\\"" with administrator privileges`
await exec(`osascript -e '${command}'`)
}