diff --git a/src/main/index.js b/src/main/index.js index ef5030ad..13ad46ec 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -20,6 +20,7 @@ if (process.env.DEBUG_ENV === 'debug') { let window let settingWindow +let miniWindow let tray let menu let contextMenu @@ -29,6 +30,9 @@ const winURL = process.env.NODE_ENV === 'development' const settingWinURL = process.env.NODE_ENV === 'development' ? `http://localhost:9080/#setting/upload` : `file://${__dirname}/index.html#setting/upload` +const miniWinURL = process.env.NODE_ENV === 'development' + ? `http://localhost:9080/#mini-page` + : `file://${__dirname}/index.html#mini-page` const uploadFailed = () => { const notification = new Notification({ @@ -71,6 +75,7 @@ function createTray () { } else { settingWindow.show() settingWindow.focus() + miniWindow.show() } } }, @@ -190,6 +195,27 @@ const createWindow = () => { }) } +const createMiniWidow = () => { + miniWindow = new BrowserWindow({ + height: 64, + width: 64, // 196 + show: true, + frame: false, + fullscreenable: false, + resizable: false, + transparent: true, + webPreferences: { + backgroundThrottling: false + } + }) + + miniWindow.loadURL(miniWinURL) + + miniWindow.on('closed', () => { + miniWindow = null + }) +} + const createSettingWindow = () => { const options = { height: 450, @@ -212,7 +238,7 @@ const createSettingWindow = () => { options.frame = false options.backgroundColor = '#3f3c37' options.transparent = false - options.icon = `${__static}/256x256.png` + options.icon = `${__static}/logo.png` } settingWindow = new BrowserWindow(options) @@ -222,6 +248,7 @@ const createSettingWindow = () => { settingWindow = null }) createMenu() + createMiniWidow() } const createMenu = () => { @@ -340,7 +367,7 @@ ipcMain.on('uploadClipboardFilesFromUploadPage', () => { }) ipcMain.on('uploadChoosedFiles', async (evt, files) => { - const imgs = await uploader(files, 'imgFromUploader', settingWindow.webContents) + const imgs = await uploader(files, 'imgFromUploader', evt.sender) if (imgs !== false) { const pasteStyle = db.read().get('picBed.pasteStyle').value() || 'markdown' let pasteText = '' diff --git a/src/renderer/components/MiniPage.vue b/src/renderer/components/MiniPage.vue new file mode 100644 index 00000000..deec85d0 --- /dev/null +++ b/src/renderer/components/MiniPage.vue @@ -0,0 +1,115 @@ + + + \ No newline at end of file diff --git a/src/renderer/router/index.js b/src/renderer/router/index.js index f1df17f7..f9639a1e 100644 --- a/src/renderer/router/index.js +++ b/src/renderer/router/index.js @@ -15,6 +15,11 @@ export default new Router({ name: 'rename-page', component: require('@/components/RenamePage').default }, + { + path: '/mini-page', + name: 'mini-page', + component: require('@/components/MiniPage').default + }, { path: '/setting', name: 'setting-page', diff --git a/static/logo.png b/static/logo.png new file mode 100644 index 00000000..885390ba Binary files /dev/null and b/static/logo.png differ