added temp tray and renamed mediaKeysModule

This commit is contained in:
Rick van Lieshout 2019-10-30 21:43:52 +01:00
parent f389f1d6a2
commit e5dd8cb87a
4 changed files with 31 additions and 8 deletions

View File

@ -1,7 +1,8 @@
const { app, BrowserWindow, globalShortcut } = require("electron"); const { app, BrowserWindow, globalShortcut } = require("electron");
const path = require("path"); const path = require("path");
const tidalUrl = "https://listen.tidal.com"; const tidalUrl = "https://listen.tidal.com";
const mediaKeys = require("./scripts/media-keys"); const trayModule = require("./scripts/tray");
const mediaKeysModule = require("./scripts/mediaKeys");
let mainWindow; let mainWindow;
let icon = path.join(__dirname, "../assets/icon.png"); let icon = path.join(__dirname, "../assets/icon.png");
@ -46,7 +47,7 @@ function createWindow(options = {}) {
} }
function addGlobalShortcuts() { function addGlobalShortcuts() {
Object.values(mediaKeys).forEach((key) => { Object.values(mediaKeysModule).forEach((key) => {
globalShortcut.register(key, () => { globalShortcut.register(key, () => {
mainWindow.webContents.send("globalKey", key); mainWindow.webContents.send("globalKey", key);
}); });
@ -60,6 +61,8 @@ app.on("ready", () => {
// window with white backround // window with white backround
createWindow(); createWindow();
addGlobalShortcuts(); addGlobalShortcuts();
trayModule.addTray({ icon });
trayModule.refreshTray();
}); });
app.on("activate", function() { app.on("activate", function() {

View File

@ -1,7 +1,7 @@
const { setTitle, getTitle } = require("./scripts/window-functions"); const { setTitle, getTitle } = require("./scripts/window-functions");
const { dialog } = require("electron").remote; const { dialog } = require("electron").remote;
const hotkeys = require("./scripts/hotkeys"); const hotkeys = require("./scripts/hotkeys");
const mediaKeys = require("./scripts/media-keys"); const mediaKeysModule = require("./scripts/mediaKeys");
const notifier = require("node-notifier"); const notifier = require("node-notifier");
const { ipcRenderer } = require("electron"); const { ipcRenderer } = require("electron");
const { app } = require("electron").remote; const { app } = require("electron").remote;
@ -189,13 +189,13 @@ function addIPCEventListeners() {
ipcRenderer.on("globalEvent", (event, args) => { ipcRenderer.on("globalEvent", (event, args) => {
switch (args) { switch (args) {
case mediaKeys.playPause: case mediaKeysModule.playPause:
playPause(); playPause();
break; break;
case mediaKeys.next: case mediaKeysModule.next:
elements.click("next"); elements.click("next");
break; break;
case mediaKeys.previous: case mediaKeysModule.previous:
elements.click("previous"); elements.click("previous");
break; break;
} }

View File

@ -1,7 +1,7 @@
const mediaKeys = { const mediaKeysModule = {
play: "MediaPlayPause", play: "MediaPlayPause",
next: "MediaNextTrack", next: "MediaNextTrack",
previous: "MediaPreviousTrack", previous: "MediaPreviousTrack",
}; };
module.exports = mediaKeys; module.exports = mediaKeysModule;

20
src/scripts/tray.js Normal file
View File

@ -0,0 +1,20 @@
const { Tray, Menu } = require("electron");
const trayModule = {};
let tray;
trayModule.addTray = function(options = { icon: "" }) {
tray = new Tray(options.icon);
};
trayModule.refreshTray = function() {
const contextMenu = Menu.buildFromTemplate([
{ label: "Item1", type: "radio" },
{ label: "Item2", type: "radio" },
{ label: "Item3", type: "radio", checked: true },
{ label: "Item4", type: "radio" },
]);
tray.setToolTip("This is my application.");
tray.setContextMenu(contextMenu);
};
module.exports = trayModule;