pull/88/head
parent
d5852a3fb8
commit
8c8ca9a106
|
@ -55,7 +55,7 @@
|
|||
"@vue/cli-plugin-eslint": "~4.5.0",
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"electron": "^13.0.0",
|
||||
"electron": "13.1.9",
|
||||
"electron-devtools-installer": "^3.1.0",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
|
|
|
@ -1,3 +1,29 @@
|
|||
import DevSidecar from '@docmirror/dev-sidecar'
|
||||
|
||||
async function setAutoStartForLinux (app, enable = true) {
|
||||
const path = app.getPath('exe')
|
||||
if (enable) {
|
||||
const cmd = `
|
||||
mkdir -p ~/.config/autostart/
|
||||
cat >> ~/.config/autostart/dev-sidecar.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Exec=${path}
|
||||
Hidden=false
|
||||
NoDisplay=false
|
||||
X-GNOME-Autostart-enabled=true
|
||||
Name[en_US]=DevSidecar
|
||||
Name=DevSidecar
|
||||
Comment[en_US]=
|
||||
Comment=
|
||||
EOF
|
||||
`
|
||||
await DevSidecar.api.shell.exec(cmd)
|
||||
} else {
|
||||
const removeStart = 'sudo rm ~/.config/autostart/dev-sidecar.desktop -rf'
|
||||
await DevSidecar.api.shell.exec(removeStart)
|
||||
}
|
||||
}
|
||||
export default {
|
||||
install (context) {
|
||||
const { ipcMain, dialog, log, app } = context
|
||||
|
@ -7,23 +33,34 @@ export default {
|
|||
// 定义事件,渲染进程中直接使用
|
||||
|
||||
// 开启 开机自启动
|
||||
ipcMain.on('auto-start', (event, message) => {
|
||||
log.info('auto-start', app.getPath('exe'))
|
||||
ipcMain.on('auto-start', async (event, message) => {
|
||||
console.log('auto start', message)
|
||||
const isLinux = DevSidecar.api.shell.getSystemPlatform() === 'linux'
|
||||
if (message.value) {
|
||||
app.setLoginItemSettings({
|
||||
openAtLogin: true,
|
||||
path: ex,
|
||||
args: [
|
||||
'--hideWindow', '"true"'
|
||||
]
|
||||
})
|
||||
if (isLinux) {
|
||||
await setAutoStartForLinux(app, true)
|
||||
} else {
|
||||
app.setLoginItemSettings({
|
||||
openAtLogin: true,
|
||||
path: ex,
|
||||
args: [
|
||||
'--process-start-args', '"--hidden"'
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
event.sender.send('auto-start', { key: 'enabled', value: true })
|
||||
} else {
|
||||
app.setLoginItemSettings({
|
||||
openAtLogin: false,
|
||||
path: ex,
|
||||
args: []
|
||||
})
|
||||
if (isLinux) {
|
||||
await setAutoStartForLinux(app, false)
|
||||
} else {
|
||||
app.setLoginItemSettings({
|
||||
openAtLogin: false,
|
||||
path: ex,
|
||||
args: []
|
||||
})
|
||||
}
|
||||
|
||||
event.sender.send('auto-start', { key: 'enabled', value: false })
|
||||
}
|
||||
})
|
||||
|
|
|
@ -61,10 +61,10 @@ function install (app, api) {
|
|||
api.update.downloadPart(value)
|
||||
} else {
|
||||
api.shell.getSystemPlatform().then((platform) => {
|
||||
if (platform === 'mac') {
|
||||
if (platform === 'mac' || platform === 'linux') {
|
||||
app.$notification.open({
|
||||
duration: 15,
|
||||
message: 'Mac暂不支持全量自动升级',
|
||||
message: '暂不支持自动升级',
|
||||
description:
|
||||
'请前往github或gitee项目release页面下载新版本手动安装',
|
||||
onClick: () => {
|
||||
|
|
|
@ -66,8 +66,8 @@ module.exports = {
|
|||
linux: {
|
||||
icon: 'build/mac/',
|
||||
target: [
|
||||
// 'deb'
|
||||
'AppImage'
|
||||
'deb'
|
||||
// 'AppImage'
|
||||
]
|
||||
},
|
||||
publish: {
|
||||
|
|
Loading…
Reference in New Issue