mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2025-09-11 14:25:12 +02:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
8fea5265e7 | |||
8d2e03ca6b | |||
1074de228b | |||
|
64d1aa4041 | ||
|
6608330ed3 |
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## 2.3.0
|
||||||
|
|
||||||
|
- Added a setting to minimize to tray on app close (off by default)
|
||||||
|
- Added the main menu to the trayicon
|
||||||
|
|
||||||
## 2.2.1
|
## 2.2.1
|
||||||
|
|
||||||
- artists is now gotten specifically from the footer. This fixes the [unknown artists bug](https://github.com/Mastermindzh/tidal-hifi/issues/45).
|
- artists is now gotten specifically from the footer. This fixes the [unknown artists bug](https://github.com/Mastermindzh/tidal-hifi/issues/45).
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tidal-hifi",
|
"name": "tidal-hifi",
|
||||||
"version": "2.2.1",
|
"version": "2.3.0",
|
||||||
"description": "Tidal on Electron with widevine(hifi) support",
|
"description": "Tidal on Electron with widevine(hifi) support",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@@ -26,6 +26,7 @@ const settings = {
|
|||||||
width: "windowBounds.width",
|
width: "windowBounds.width",
|
||||||
height: "windowBounds.height",
|
height: "windowBounds.height",
|
||||||
},
|
},
|
||||||
|
minimizeOnClose: "minimizeOnClose",
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = settings;
|
module.exports = settings;
|
||||||
|
@@ -56,6 +56,14 @@ function createWindow(options = {}) {
|
|||||||
// run stuff after first load
|
// run stuff after first load
|
||||||
mainWindow.webContents.once("did-finish-load", () => {});
|
mainWindow.webContents.once("did-finish-load", () => {});
|
||||||
|
|
||||||
|
mainWindow.on("close", function (event) {
|
||||||
|
if (!app.isQuiting && store.get(settings.minimizeOnClose)) {
|
||||||
|
event.preventDefault();
|
||||||
|
mainWindow.hide();
|
||||||
|
refreshTray(mainWindow);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
// Emitted when the window is closed.
|
// Emitted when the window is closed.
|
||||||
mainWindow.on("closed", function () {
|
mainWindow.on("closed", function () {
|
||||||
closeSettingsWindow();
|
closeSettingsWindow();
|
||||||
|
@@ -21,6 +21,7 @@ function refreshSettings() {
|
|||||||
mpris.checked = store.get(settings.mpris);
|
mpris.checked = store.get(settings.mpris);
|
||||||
enableCustomHotkeys.checked = store.get(settings.enableCustomHotkeys);
|
enableCustomHotkeys.checked = store.get(settings.enableCustomHotkeys);
|
||||||
enableDiscord.checked = store.get(settings.enableDiscord);
|
enableDiscord.checked = store.get(settings.enableDiscord);
|
||||||
|
minimizeOnClose.checked = store.get(settings.minimizeOnClose);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -80,6 +81,7 @@ window.addEventListener("DOMContentLoaded", () => {
|
|||||||
port = get("port");
|
port = get("port");
|
||||||
menuBar = get("menuBar");
|
menuBar = get("menuBar");
|
||||||
trayIcon = get("trayIcon");
|
trayIcon = get("trayIcon");
|
||||||
|
minimizeOnClose = get("minimizeOnClose");
|
||||||
mpris = get("mprisCheckbox");
|
mpris = get("mprisCheckbox");
|
||||||
enableCustomHotkeys = get("enableCustomHotkeys");
|
enableCustomHotkeys = get("enableCustomHotkeys");
|
||||||
enableDiscord = get("enableDiscord");
|
enableDiscord = get("enableDiscord");
|
||||||
@@ -95,4 +97,5 @@ window.addEventListener("DOMContentLoaded", () => {
|
|||||||
addInputListener(mpris, settings.mpris);
|
addInputListener(mpris, settings.mpris);
|
||||||
addInputListener(enableCustomHotkeys, settings.enableCustomHotkeys);
|
addInputListener(enableCustomHotkeys, settings.enableCustomHotkeys);
|
||||||
addInputListener(enableDiscord, settings.enableDiscord);
|
addInputListener(enableDiscord, settings.enableDiscord);
|
||||||
|
addInputListener(minimizeOnClose, settings.minimizeOnClose);
|
||||||
});
|
});
|
||||||
|
@@ -80,6 +80,16 @@
|
|||||||
<span class="slider round"></span>
|
<span class="slider round"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="option">
|
||||||
|
<h4>Minimize on Close</h4>
|
||||||
|
<p>
|
||||||
|
Minimize window on close instead <br />
|
||||||
|
</p>
|
||||||
|
<label class="switch">
|
||||||
|
<input id="minimizeOnClose" type="checkbox">
|
||||||
|
<span class="slider round"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
<div class="option">
|
<div class="option">
|
||||||
<h4>Hotkeys</h4>
|
<h4>Hotkeys</h4>
|
||||||
<p>
|
<p>
|
||||||
|
@@ -15,6 +15,7 @@ const store = new Store({
|
|||||||
port: 47836,
|
port: 47836,
|
||||||
},
|
},
|
||||||
trayIcon: true,
|
trayIcon: true,
|
||||||
|
minimizeOnClose : false,
|
||||||
mpris: false,
|
mpris: false,
|
||||||
enableCustomHotkeys: false,
|
enableCustomHotkeys: false,
|
||||||
enableDiscord: false,
|
enableDiscord: false,
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
const { Tray } = require("electron");
|
const { Tray, app } = require("electron");
|
||||||
const { getMenu } = require("./menu");
|
const { Menu } = require("electron");
|
||||||
|
const { getMenu, mainMenu } = require("./menu");
|
||||||
|
const { store, settings } = require("./settings");
|
||||||
const trayModule = {};
|
const trayModule = {};
|
||||||
let tray;
|
let tray;
|
||||||
|
|
||||||
@@ -7,16 +9,41 @@ trayModule.addTray = function (options = { icon: "" }) {
|
|||||||
tray = new Tray(options.icon);
|
tray = new Tray(options.icon);
|
||||||
};
|
};
|
||||||
|
|
||||||
trayModule.refreshTray = function () {
|
trayModule.refreshTray = function (mainWindow) {
|
||||||
if (!tray) {
|
if (!tray) {
|
||||||
trayModule.addTray();
|
trayModule.addTray();
|
||||||
}
|
}
|
||||||
|
|
||||||
tray.on("click", function (e) {
|
tray.on("click", function (e) {
|
||||||
// do nothing on click
|
if (mainWindow) {
|
||||||
|
mainWindow.show();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
tray.setToolTip("Tidal-hifi");
|
tray.setToolTip("Tidal-hifi");
|
||||||
tray.setContextMenu(getMenu());
|
|
||||||
|
if (mainWindow && store.get(settings.minimizeOnClose)) {
|
||||||
|
tray.setContextMenu(
|
||||||
|
Menu.buildFromTemplate([
|
||||||
|
{
|
||||||
|
label: "Toggle Window",
|
||||||
|
click: function () {
|
||||||
|
mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Quit",
|
||||||
|
click: function () {
|
||||||
|
mainWindow.destroy();
|
||||||
|
app.quit();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
...mainMenu, //we add menu items from the other context
|
||||||
|
])
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
tray.setContextMenu(getMenu());
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = trayModule;
|
module.exports = trayModule;
|
||||||
|
Reference in New Issue
Block a user