var app = require('app'); // Module to control application life. var BrowserWindow = require('browser-window'); // Module to create native browser window. var Menu = require('menu'); var Tray = require('tray'); // Report crashes to our server. require('crash-reporter').start(); // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. var mainWindow = null; var appIcon = null; var TRAY_ICON = 'resources/tray-icon.png'; var APP_ICON = 'resources/tray-icon.png'; // Quit when all windows are closed. app.on('window-all-closed', function() { // On OS X it is common for applications and their menu bar // to stay active until the user quits explicitly with Cmd + Q if (process.platform != 'darwin') { app.quit(); } }); // This method will be called when Electron has finished // initialization and is ready to create browser windows. app.on('ready', function() { // Create tray icon appIcon = new Tray(TRAY_ICON); appIcon.setToolTip('High Fidelity Console'); var contextMenu = Menu.buildFromTemplate([{ label: 'Quit', accelerator: 'Command+Q', click: function() { app.quit(); } }]); appIcon.setContextMenu(contextMenu); // Create the browser window. mainWindow = new BrowserWindow({width: 800, height: 600, icon: APP_ICON}); // and load the index.html of the app. mainWindow.loadURL('file://' + __dirname + '/index.html'); // Open the DevTools. mainWindow.webContents.openDevTools(); // Emitted when the window is closed. mainWindow.on('closed', function() { // Dereference the window object, usually you would store windows // in an array if your app supports multi windows, this is the time // when you should delete the corresponding element. mainWindow = null; }); });