Browse Source

1

pull/88/head
xiaojunnuo 3 years ago
parent
commit
8c8ca9a106
  1. 2
      packages/gui/package.json
  2. 65
      packages/gui/src/bridge/auto-start/backend.js
  3. 4
      packages/gui/src/bridge/update/front.js
  4. 4
      packages/gui/vue.config.js

2
packages/gui/package.json

@ -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",

65
packages/gui/src/bridge/auto-start/backend.js

@ -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 })
}
})

4
packages/gui/src/bridge/update/front.js

@ -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: () => {

4
packages/gui/vue.config.js

@ -66,8 +66,8 @@ module.exports = {
linux: {
icon: 'build/mac/',
target: [
// 'deb'
'AppImage'
'deb'
// 'AppImage'
]
},
publish: {

Loading…
Cancel
Save