tidal-hifi/main.js

62 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-09-16 23:13:12 +02:00
const { app, globalShortcut, BrowserWindow, process } = require("electron");
const path = require("path");
const tidalUrl = "https://listen.tidal.com";
let mainWindow;
/**
* Enable live reload in development builds
*/
require("electron-reload")(__dirname, {
electron: require(`${__dirname}/node_modules/electron`),
});
function createWindow(options = {}) {
// Create the browser window.
mainWindow = new BrowserWindow({
x: options.x,
y: options.y,
width: 1024,
height: 800,
backgroundColor: options.backgroundColor,
webPreferences: {
affinity: "window",
preload: path.join(__dirname, "preload.js"),
plugins: true,
},
});
// load the Tidal website
mainWindow.loadURL(tidalUrl);
// run stuff after first load
mainWindow.webContents.once("did-finish-load", () => {});
// Emitted when the window is closed.
mainWindow.on("closed", function() {
mainWindow = null;
});
}
function addGlobalShortcuts() {
globalShortcut.register("Control+A", () => {
mainWindow.webContents.send("getPlayInfo");
});
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on("ready", () => {
// window with white backround
createWindow();
addGlobalShortcuts();
});
app.on("activate", function() {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) {
createWindow();
}
});