Skip to content

Commit

Permalink
Merge pull request #596 from AceHalo/dev-min-to-tray-for-win32
Browse files Browse the repository at this point in the history
Minmize to tray for win32
  • Loading branch information
h3poteto authored Sep 10, 2018
2 parents 66d95d4 + 5ba344d commit 3747c5d
Showing 1 changed file with 33 additions and 1 deletion.
34 changes: 33 additions & 1 deletion src/main/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict'

import { app, ipcMain, shell, Menu } from 'electron'
import { app, ipcMain, shell, Menu, Tray } from 'electron'
import Datastore from 'nedb'
import empty from 'is-empty'
import log from 'electron-log'
Expand Down Expand Up @@ -39,6 +39,7 @@ if (process.env.NODE_ENV !== 'development') {
}

let mainWindow
let tray = null
const winURL = process.env.NODE_ENV === 'development'
? `http://localhost:9080`
: `file://${__dirname}/index.html`
Expand Down Expand Up @@ -107,6 +108,32 @@ async function getLanguage () {
}
}

/**
* Minimize to tray when click close button
*/
async function setMinimizeToTray () {
mainWindow.on('close', (event) => {
mainWindow.hide()
mainWindow.setSkipTaskbar(true)
event.preventDefault()
})
tray = new Tray(path.join(__dirname, '../../build/icons/256x256.png'))
const contextMenu = Menu.buildFromTemplate([
{ label: i18n.t('main_menu.application.quit'), click: () => { mainWindow.destroy() } }
])
tray.setToolTip(i18n.t('main_menu.application.name'))
tray.setContextMenu(contextMenu)
tray.on('click', () => {
if (mainWindow.isVisible()) {
mainWindow.hide()
mainWindow.setSkipTaskbar(true)
} else {
mainWindow.show()
mainWindow.setSkipTaskbar(false)
}
})
}

async function createWindow () {
/**
* List accounts
Expand Down Expand Up @@ -175,6 +202,11 @@ async function createWindow () {
mainWindow.on('closed', () => {
mainWindow = null
})

// Minimize to tray for win32
if (process.platform === 'win32') {
setMinimizeToTray()
}
}

// Do not lower the rendering priority of Chromium when background
Expand Down

0 comments on commit 3747c5d

Please sign in to comment.