mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2024-11-22 05:23:09 +01:00
Fixed bug: Triggering fullscreen from the Tidal web app would cause the menubar to be visible even if it was disabled in the settings (#96)
Co-authored-by: Diogo Oliveira <dromarques@outlook.com>
This commit is contained in:
parent
d51d5cdc24
commit
5a65f60cc5
@ -4,6 +4,10 @@ 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/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## 2.7.1
|
||||
|
||||
- Fixed bug: Triggering fullscreen from the Tidal web app would cause the menubar to be visible even if it was disabled in the settings
|
||||
|
||||
## 2.7.0
|
||||
|
||||
- Switched to the native Notifier (removed node-notifier)
|
||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "tidal-hifi",
|
||||
"version": "2.7.0",
|
||||
"version": "2.7.1",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "tidal-hifi",
|
||||
"version": "2.7.0",
|
||||
"version": "2.7.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"discord-rpc": "^4.0.1",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "tidal-hifi",
|
||||
"version": "2.7.0",
|
||||
"version": "2.7.1",
|
||||
"description": "Tidal on Electron with widevine(hifi) support",
|
||||
"main": "src/main.js",
|
||||
"scripts": {
|
||||
|
@ -6,6 +6,7 @@ const globalEvents = {
|
||||
previous: "previous",
|
||||
updateInfo: "update-info",
|
||||
hideSettings: "hideSettings",
|
||||
refreshMenuBar: "refreshMenubar",
|
||||
showSettings: "showSettings",
|
||||
storeChanged: "storeChanged",
|
||||
error: "error",
|
||||
|
17
src/main.js
17
src/main.js
@ -29,6 +29,14 @@ if (!app.isPackaged) {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the menuBarVisbility according to the store value
|
||||
*
|
||||
*/
|
||||
function syncMenuBarWithStore() {
|
||||
mainWindow.setMenuBarVisibility(store.get(settings.menuBar));
|
||||
}
|
||||
|
||||
function createWindow(options = {}) {
|
||||
// Create the browser window.
|
||||
mainWindow = new BrowserWindow({
|
||||
@ -48,7 +56,7 @@ function createWindow(options = {}) {
|
||||
},
|
||||
});
|
||||
|
||||
mainWindow.setMenuBarVisibility(store.get(settings.menuBar));
|
||||
syncMenuBarWithStore();
|
||||
|
||||
// load the Tidal website
|
||||
mainWindow.loadURL(tidalUrl);
|
||||
@ -95,6 +103,7 @@ app.on("ready", () => {
|
||||
store.get(settings.trayIcon) && addTray({ icon }) && refreshTray();
|
||||
store.get(settings.api) && expressModule.run(mainWindow);
|
||||
store.get(settings.enableDiscord) && discordModule.initRPC();
|
||||
// mainWindow.webContents.openDevTools();
|
||||
});
|
||||
|
||||
app.on("activate", function () {
|
||||
@ -117,8 +126,12 @@ ipcMain.on(globalEvents.showSettings, (event, arg) => {
|
||||
showSettingsWindow();
|
||||
});
|
||||
|
||||
ipcMain.on(globalEvents.refreshMenuBar, (event, arg) => {
|
||||
syncMenuBarWithStore();
|
||||
});
|
||||
|
||||
ipcMain.on(globalEvents.storeChanged, (event, arg) => {
|
||||
mainWindow.setMenuBarVisibility(store.get(settings.menuBar));
|
||||
syncMenuBarWithStore();
|
||||
|
||||
if (store.get(settings.enableDiscord) && !discordModule.rpc) {
|
||||
discordModule.initRPC();
|
||||
|
@ -82,17 +82,20 @@ const elements = {
|
||||
|
||||
getAlbumName: function () {
|
||||
//If listening to an album, get its name from the header title
|
||||
if(window.location.href.includes('/album/')) {
|
||||
if (window.location.href.includes("/album/")) {
|
||||
const albumName = window.document.querySelector(this.album_header_title);
|
||||
if(albumName) {
|
||||
if (albumName) {
|
||||
return albumName.textContent;
|
||||
}
|
||||
//If listening to a playlist or a mix, get album name from the list
|
||||
} else if(window.location.href.includes('/playlist/') || window.location.href.includes('/mix/')) {
|
||||
if(currentPlayStatus === statuses.playing) {
|
||||
} else if (
|
||||
window.location.href.includes("/playlist/") ||
|
||||
window.location.href.includes("/mix/")
|
||||
) {
|
||||
if (currentPlayStatus === statuses.playing) {
|
||||
const row = window.document.querySelector(this.playing_title).closest(this.tracklist_row);
|
||||
if(row) {
|
||||
return row.querySelector(this.album_name_cell).textContent;
|
||||
if (row) {
|
||||
return row.querySelector(this.album_name_cell).textContent;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -213,6 +216,12 @@ function handleLogout() {
|
||||
);
|
||||
}
|
||||
|
||||
function addFullScreenListeners() {
|
||||
window.document.addEventListener("fullscreenchange", (event) => {
|
||||
ipcRenderer.send(globalEvents.refreshMenuBar);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Add ipc event listeners.
|
||||
* Some actions triggered outside of the site need info from the site.
|
||||
@ -274,8 +283,8 @@ function convertDuration(duration) {
|
||||
function updateMediaInfo(options, notify) {
|
||||
if (options) {
|
||||
ipcRenderer.send(globalEvents.updateInfo, options);
|
||||
if(store.get(settings.notifications) && notify) {
|
||||
new Notification({ title: options.title, body: options.message, icon: options.icon}).show();
|
||||
if (store.get(settings.notifications) && notify) {
|
||||
new Notification({ title: options.title, body: options.message, icon: options.icon }).show();
|
||||
}
|
||||
if (player) {
|
||||
player.metadata = {
|
||||
@ -331,7 +340,7 @@ setInterval(function () {
|
||||
url: currentURL,
|
||||
current: current,
|
||||
duration: duration,
|
||||
'app-name': appName,
|
||||
"app-name": appName,
|
||||
};
|
||||
|
||||
const playStatusChanged = currentStatus !== currentPlayStatus;
|
||||
@ -452,3 +461,4 @@ if (process.platform === "linux" && store.get(settings.mpris)) {
|
||||
|
||||
addHotKeys();
|
||||
addIPCEventListeners();
|
||||
addFullScreenListeners();
|
||||
|
Loading…
Reference in New Issue
Block a user