🔨 Refactor: change macos clipboard watcher implementment

This commit is contained in:
萌萌哒赫萝
2023-04-10 18:45:04 +08:00
parent 350e6a376a
commit 1d0c8dba53
3 changed files with 76 additions and 23 deletions

View File

@@ -45,6 +45,7 @@ import { T } from '~/main/i18n'
import { UpdateInfo, autoUpdater } from 'electron-updater'
import updateChecker from '../utils/updateChecker'
import clipboardListener from 'clipboard-event'
import clipboardPoll from '../utils/clipboardPoll'
import path from 'path'
import { CLIPBOARD_IMAGE_FOLDER } from '~/universal/utils/static'
import fs from 'fs-extra'
@@ -140,6 +141,18 @@ class LifeCycle {
}
windowManager.create(IWindowList.TRAY_WINDOW)
windowManager.create(IWindowList.SETTING_WINDOW)
const isAutoListenClipboard = db.get('settings.isAutoListenClipboard') || false
const ClipboardWatcher = process.platform === 'darwin' ? clipboardPoll : clipboardListener
if (isAutoListenClipboard) {
db.set('settings.isListeningClipboard', true)
ClipboardWatcher.startListening()
ClipboardWatcher.on('change', () => {
picgo.log.info('clipboard changed')
uploadClipboardFiles()
})
} else {
db.set('settings.isListeningClipboard', false)
}
if (process.platform === 'darwin') {
setDockMenu()
}
@@ -202,17 +215,6 @@ class LifeCycle {
settingWindow.show()
settingWindow.focus()
}
const isAutoListenClipboard = db.get('settings.isAutoListenClipboard') || false
if (isAutoListenClipboard) {
db.set('settings.isListeningClipboard', true)
clipboardListener.startListening()
clipboardListener.on('change', () => {
picgo.log.info('clipboard changed')
uploadClipboardFiles()
})
} else {
db.set('settings.isListeningClipboard', false)
}
const clipboardDir = path.join(picgo.baseDir, CLIPBOARD_IMAGE_FOLDER)
fs.ensureDir(clipboardDir)
}