Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
app.on('ready', () => {
// Let's first read an image.
let icon = null
// You could also create a nativeImage from a local file,
// a buffer, or an NSNamedImage.
icon = nativeImage.createFromDataURL('data:image/png;base64,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')
// Now, let's make a simple Tray icon.
// If you're on a Mac, this will show up in the menu bar.
trayIcon = new Tray(icon)
trayIcon.on('click', () => {
console.log('👋')
})
})
// NOTE: to get focus back to the previous window on MacOS we need to
// hide the app not only the window.
app.hide();
} else {
// NOTE: Windows doesn't have app.hide method, but combination of
// window.blur and window.hide does the same thing.
mainWindow.blur();
mainWindow.hide()
}
} else {
mainWindow.show();
}
});
if (process.platform === 'darwin') {
tray = new Tray(path.join(__dirname, 'img', 'iconTemplate.png'));
} else if (process.platform === 'linux') {
tray = new Tray(path.join(__dirname, 'img', 'iconHighlight@2x.png'));
} else {
tray = new Tray(path.join(__dirname, 'img', 'iconHighlight.png'));
}
const contextMenu = Menu.buildFromTemplate([
{ label: 'Export', submenu: [
{ label: 'JSON', click(item, focusedWindow) {
mainWindow.webContents.send('exportClipboardHistoryAsJSON');
}},
{ label: 'Plain text', click(item, focusedWindow) {
mainWindow.webContents.send('exportClipboardHistoryAsTXT');
}}
]},
{ label: 'Clear clipboard history', click(item, focusedWindow) {
scheduledJob(null);
} else {
browserWindow.loadURL(url.format({
pathname: path.join(__dirname, 'offline.html'),
protocol: 'file:',
slashes: true
}))
}
browserWindow.on('closed', () => {
browserWindow = null;
})
tray = new Tray("book.png");
tray.on('click', () => {
showHide();
})
const contextMenu = Menu.buildFromTemplate([
// Disable for production
{ label: 'DevTools', click: showDevTools },
//{ label: 'Reload', click: forceReload },
{ label: 'Autostart', type: 'checkbox', click: toggleAutostart },
{ label: 'Autohide', type: 'checkbox', click: toggleAutohide },
// No ()
{ label: 'Exit', click: quitAllWindows }
]);
// function forceReload() {
// // todo: implement force reload function
const createTrayWindow = () => {
tray = new Tray(trayIconPath);
const screenBounds = screen.getPrimaryDisplay().bounds;
const trayWindowWidth = 500;
// set the x position to center of the screen
const trayXPosition = {
x : screenBounds.width / 2 - (trayWindowWidth / 2),
y: 0
}
trayWindow = new BrowserWindow({
width: 500,
height: 90,
show: false,
frame: false,
fullscreenable: false,
minimizable: false,
resizable: false,
movable: false,
function createTray () {
tray = new electron.Tray(getIconPath())
// On Windows, left click opens the app, right click opens the context menu.
// On Linux, any click (left or right) opens the context menu.
tray.on('click', () => windows.main.show())
// Show the tray context menu, and keep the available commands up to date
updateTrayMenu()
}
function createAppIcon() {
let trayIcon = new Tray(iconIdle);
const trayMenu = Menu.buildFromTemplate([
{
label: 'Show Gitify',
click() {
appWindow.show();
},
},
{
type: 'separator',
},
{
label: 'Quit',
accelerator: isDarwin ? 'Command+Q' : 'Alt+F4',
role: 'quit',
},
function createTray() {
const trayIcon = path.join(app.getAppPath(), 'logo.png');
const nimage = nativeImage.createFromPath(trayIcon);
tray = new Tray(nimage);
tray.setToolTip('ANT Downloader');
const contextMenu = Menu.buildFromTemplate([
{
label: 'Show', click: () => {
win.show();
}
},
{
label: '',
type: 'separator'
},
{
label: 'Quit', click: () => {
exitApp();
}
},
submenu: [
{
label: 'Pokémons',
click: function () {
win.webContents.send('navigateTo', 'pokemon-list');
}
}
]
},
{
label: 'Quit',
role: 'quit'
}
]);
trayApp = new Tray(trayIconPath);
trayApp.setToolTip('AngularSample');
trayApp.setContextMenu(contextMenu);
}
Electron.app.on('ready', function() {
if (process.platform !== 'darwin') {
TrayIcon = new Electron.Tray(
Path.join(__dirname, 'img/logo/128x128.png')
);
}
Windows.main = new Electron.BrowserWindow({
icon: Path.join(__dirname, 'img/logo/64x64.png'),
minWidth: 270,
width: 270,
maxWidth: 400,
height: 470,
minHeight: 440,
maximizable: false,
fullscreenable: false,
show: false,
title: 'Cryptocat',
webPreferences: {
preload: Path.join(__dirname, 'js/global.js')
var showTray = function() {
if (!appIcon) {
var icon = 'icon16.png';
if (darkOn) icon = 'icon16w.png';
appIcon = new electron.Tray(path.normalize(__dirname + '/../chrome/img/'+icon));
appIcon.setToolTip('Yez! is running');
appIcon.setContextMenu(menu);
appIcon.on('click', function () {
mainWindow.show()
});
}
};