🎨 桌面端内核进程根据 Electron 主进程判断是否自动退出 Fix https://github.com/siyuan-note/siyuan/issues/7002

This commit is contained in:
Liang Ding 2023-01-06 18:44:56 +08:00
parent 9854969cce
commit d752f006ca
No known key found for this signature in database
GPG Key ID: 136F30F901A2231D
2 changed files with 8 additions and 8 deletions

View File

@ -53,10 +53,8 @@ try {
}
} catch (e) {
console.error(e)
require('electron').
dialog.
showErrorBox('创建配置目录失败 Failed to create config directory',
'思源需要在用户家目录下创建配置文件夹(~/.config/siyuan请确保该路径具有写入权限。\n\nSiYuan needs to create a configuration folder (~/.config/siyuan) in the user\'s home directory. Please make sure that the path has write permissions.')
require('electron').dialog.showErrorBox('创建配置目录失败 Failed to create config directory',
'思源需要在用户家目录下创建配置文件夹(~/.config/siyuan请确保该路径具有写入权限。\n\nSiYuan needs to create a configuration folder (~/.config/siyuan) in the user\'s home directory. Please make sure that the path has write permissions.')
app.exit()
}
@ -897,6 +895,7 @@ app.on('before-quit', (event) => {
})
const {powerMonitor} = require('electron')
const {write} = require("fs");
powerMonitor.on('suspend', () => {
writeLog('system suspend')
@ -934,11 +933,11 @@ powerMonitor.on('resume', async () => {
return
}
writeLog('sync after system resume')
workspaces.forEach(item => {
const currentURL = new URL(item.browserWindow.getURL())
fetch(getServer(currentURL.port) + '/api/sync/performSync',
{method: 'POST'})
const server = getServer(currentURL.port)
writeLog('sync after system resume [' + server + '/api/sync/performSync' + ']')
fetch(server + '/api/sync/performSync', {method: 'POST'})
})
})
@ -946,6 +945,6 @@ powerMonitor.on('shutdown', () => {
writeLog('system shutdown')
workspaces.forEach(item => {
const currentURL = new URL(item.browserWindow.getURL())
fetch(getServer(currentURL.port) + '/api/system/exit', {method: 'POST'})
fetch(getServer(currentURL.port) + '/api/system/exit', {method: 'POST'})
})
})

View File

@ -42,6 +42,7 @@ func HookDesktopUIProc() {
return
}
time.Sleep(30 * time.Second)
uiProcNames := []string{"siyuan", "electron"}
existUIProc := false
for range time.Tick(7 * time.Second) {