Browse Source

Fixes #100

pull/116/merge
Ramiro Saenz 9 years ago
parent
commit
8c83efff56
  1. 62
      electron/tray.js

62
electron/tray.js

@ -5,40 +5,31 @@ const app = electron.app;
const Tray = electron.Tray; const Tray = electron.Tray;
const MenuItem = electron.MenuItem; const MenuItem = electron.MenuItem;
let tray = null; var appIcon = null;
exports.create = win => { exports.create = win => {
if (process.platform === 'darwin' || tray) { if (process.platform === 'darwin' || appIcon) {
return; return;
} }
const icon = process.platform === 'linux' || process.platform === 'darwin' ? 'IconTray.png' : 'Icon.ico'; const icon = process.platform === 'linux' || process.platform === 'darwin' ? 'IconTray.png' : 'Icon.ico';
const iconPath = path.join(__dirname, `../resources/${icon}`); const iconPath = path.join(__dirname, `../resources/${icon}`);
let showMB = new MenuItem({ const toggleWin = () => {
label: 'Show Rambox' if (win.isVisible()) {
,position: '1'
,visible: false
,click(btn) {
win.show();
contextMenu.items[0].visible = false;
contextMenu.items[1].visible = true;
}
});
let hideMB = new MenuItem({
label: 'Minimize Rambox'
,position: '2'
,click(btn) {
win.hide(); win.hide();
contextMenu.items[1].visible = false; } else {
contextMenu.items[0].visible = true; win.show();
} }
}); };
const contextMenu = electron.Menu.buildFromTemplate([ const contextMenu = electron.Menu.buildFromTemplate([
showMB, {
hideMB, label: 'Show/Hide Window'
,click() {
toggleWin();
}
},
{ {
type: 'separator' type: 'separator'
}, },
@ -50,29 +41,16 @@ exports.create = win => {
} }
]); ]);
tray = new Tray(iconPath); appIcon = new Tray(iconPath);
tray.setToolTip('Rambox'); appIcon.setToolTip('Rambox');
tray.setContextMenu(contextMenu); appIcon.setContextMenu(contextMenu);
tray.on('click', function() { appIcon.on('double-click', () => {
if ( win.isVisible() ) { win.show();
win.hide();
contextMenu.items[1].visible = false;
contextMenu.items[0].visible = true;
} else {
win.show();
contextMenu.items[0].visible = false;
contextMenu.items[1].visible = true;
}
});
win.on('hide', function() {
contextMenu.items[1].visible = false;
contextMenu.items[0].visible = true;
}); });
}; };
exports.setBadge = shouldDisplayUnread => { exports.setBadge = shouldDisplayUnread => {
if (process.platform === 'darwin' || !tray) { if (process.platform === 'darwin' || !appIcon) {
return; return;
} }
@ -84,5 +62,5 @@ exports.setBadge = shouldDisplayUnread => {
} }
const iconPath = path.join(__dirname, `../resources/${icon}`); const iconPath = path.join(__dirname, `../resources/${icon}`);
tray.setImage(iconPath); appIcon.setImage(iconPath);
}; };

Loading…
Cancel
Save