diff --git a/src/constants/settings.ts b/src/constants/settings.ts index 78fce85..242dd4c 100644 --- a/src/constants/settings.ts +++ b/src/constants/settings.ts @@ -55,6 +55,7 @@ export const settings = { singleInstance: "singleInstance", skipArtists: "skipArtists", skippedArtists: "skippedArtists", + staticWindowTitle: "staticWindowTitle", theme: "theme", trayIcon: "trayIcon", updateFrequency: "updateFrequency", diff --git a/src/pages/settings/preload.ts b/src/pages/settings/preload.ts index 498988b..34eff23 100644 --- a/src/pages/settings/preload.ts +++ b/src/pages/settings/preload.ts @@ -46,6 +46,7 @@ let adBlock: HTMLInputElement, singleInstance: HTMLInputElement, skipArtists: HTMLInputElement, skippedArtists: HTMLInputElement, + staticWindowTitle: HTMLInputElement, theme: HTMLSelectElement, trayIcon: HTMLInputElement, updateFrequency: HTMLInputElement, @@ -140,8 +141,9 @@ function refreshSettings() { port.value = settingsStore.get(settings.apiSettings.port); singleInstance.checked = settingsStore.get(settings.singleInstance); skipArtists.checked = settingsStore.get(settings.skipArtists); - theme.value = settingsStore.get(settings.theme); skippedArtists.value = settingsStore.get(settings.skippedArtists).join("\n"); + staticWindowTitle.checked = settingsStore.get(settings.staticWindowTitle); + theme.value = settingsStore.get(settings.theme); trayIcon.checked = settingsStore.get(settings.trayIcon); updateFrequency.value = settingsStore.get(settings.updateFrequency); enableListenBrainz.checked = settingsStore.get(settings.ListenBrainz.enabled); @@ -261,6 +263,7 @@ window.addEventListener("DOMContentLoaded", () => { trayIcon = get("trayIcon"); skipArtists = get("skipArtists"); skippedArtists = get("skippedArtists"); + staticWindowTitle = get("staticWindowTitle"); singleInstance = get("singleInstance"); updateFrequency = get("updateFrequency"); enableListenBrainz = get("enableListenBrainz"); @@ -295,6 +298,7 @@ window.addEventListener("DOMContentLoaded", () => { addInputListener(port, settings.apiSettings.port); addInputListener(skipArtists, settings.skipArtists); addTextAreaListener(skippedArtists, settings.skippedArtists); + addInputListener(staticWindowTitle, settings.staticWindowTitle); addInputListener(singleInstance, settings.singleInstance); addSelectListener(theme, settings.theme); addInputListener(trayIcon, settings.trayIcon); diff --git a/src/pages/settings/settings.html b/src/pages/settings/settings.html index 30e839b..f0b0dfb 100644 --- a/src/pages/settings/settings.html +++ b/src/pages/settings/settings.html @@ -106,6 +106,16 @@ +
+
+

Static Window Title

+

Makes the window title "TIDAL Hi-Fi" instead of changing to the currently playing song.

+
+ +

Minimize on Close

diff --git a/src/preload.ts b/src/preload.ts index 814044b..a2b01a8 100644 --- a/src/preload.ts +++ b/src/preload.ts @@ -550,6 +550,7 @@ setInterval(function () { const artistsArray = elements.getArtistsArray(); const artistsString = elements.getArtistsString(artistsArray); const songDashArtistTitle = `${title} - ${artistsString}`; + const staticTitle = "TIDAL Hi-Fi" const titleOrArtistsChanged = currentSong !== songDashArtistTitle; const current = elements.getText("current"); const currentStatus = getCurrentlyPlayingStatus(); @@ -594,7 +595,7 @@ setInterval(function () { }; // update title, url and play info with new info - setTitle(songDashArtistTitle); + settingsStore.get(settings.staticWindowTitle) ? setTitle(staticTitle) : setTitle(songDashArtistTitle); getTrackURL(); currentSong = songDashArtistTitle; currentPlayStatus = currentStatus; diff --git a/src/scripts/settings.ts b/src/scripts/settings.ts index 4e5323a..30ea16d 100644 --- a/src/scripts/settings.ts +++ b/src/scripts/settings.ts @@ -69,6 +69,7 @@ export const settingsStore = new Store({ singleInstance: true, skipArtists: false, skippedArtists: [""], + staticWindowTitle: false, theme: "none", trayIcon: true, updateFrequency: 500,