Skip to content

Commit

Permalink
added the option to disable the system tray icon and fixed the settin…
Browse files Browse the repository at this point in the history
…gs menu
  • Loading branch information
Mastermindzh committed Oct 7, 2020
1 parent c222113 commit e2ea4d1
Show file tree
Hide file tree
Showing 11 changed files with 51 additions and 20 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@ 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).

## 1.2.0

- Added the ability to disable the tray icon

## 1.1.1

Bugfixes:

- Arch AUR install failed before, it is fixed now by using the included build scripts

## 1.1.0

- updated to electron 8.0.0
Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,12 @@ Whilst there are a handful of projects attempting to run Tidal on Electron they

Sometimes it's just easier to start over, cover my own needs and then making it available to the public :)

## Special thanks to..
## Special thanks to...

- [Castlabs](https://castlabs.com/)
For maintaining Electron with Widevine CDM installation, Verified Media Path (VMP), and persistent licenses (StorageID)

## Buy me a coffee? Please don't

Instead spend some money on a charity I care for: [kwf.nl](secure.kwf.nl/donation)
Inspired by [haydenjames' issue](https://github.com/Mastermindzh/tidal-hifi/issues/27#issuecomment-704198429)
4 changes: 2 additions & 2 deletions build/linux/arch/.SRCINFO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
pkgbase = tidal-hifi-git
pkgdesc = The web version of listen.tidal.com running in electron with hifi support thanks to widevine.
pkgver = 1.1.1
pkgver = 1.2.0
pkgrel = 1
url = https://github.com/Mastermindzh/tidal-hifi
arch = x86_64
Expand All @@ -11,7 +11,7 @@ pkgbase = tidal-hifi-git
depends = nss
depends = gtk3
provides = tidal-hifi
source = https://github.com/Mastermindzh/tidal-hifi/archive/1.1.1.zip
source = https://github.com/Mastermindzh/tidal-hifi/archive/1.2.0.zip
source = tidal-hifi.desktop
sha512sums = ed6127627400cc8d1a614f3084eaed0ee9109cc4be99ad8865a7cd68c45d9bbd7b20404c394930af005320da5cc2221a8818a7cb48d4cccc73991e88320408e5
sha512sums = 35f38ac308b871c1822d7f6f760f2fb54c3748cf769822cb0f0dfb90f0f5754ba9316da5e903a0d2e9839de3a43ec76f238f3f2e44021956fa1da19142081349
Expand Down
2 changes: 1 addition & 1 deletion build/linux/arch/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

_pkgname=tidal-hifi
pkgname="$_pkgname-git"
pkgver=1.1.1
pkgver=1.2.0
pkgrel=1
pkgdesc="The web version of listen.tidal.com running in electron with hifi support thanks to widevine."
arch=("x86_64")
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "tidal-hifi",
"version": "1.1.1",
"version": "1.2.0",
"description": "Tidal on Electron with widevine(hifi) support",
"main": "src/main.js",
"scripts": {
Expand Down
1 change: 1 addition & 0 deletions src/constants/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ const settings = {
port: "apiSettings.port",
},
mpris: "mpris",
trayIcon: "trayIcon",
windowBounds: {
root: "windowBounds",
width: "windowBounds.width",
Expand Down
3 changes: 1 addition & 2 deletions src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,7 @@ app.on("ready", () => {
addMenu();
createSettingsWindow();
addGlobalShortcuts();
addTray({ icon });
refreshTray();
store.get(settings.trayIcon) && addTray({ icon }) && refreshTray();
store.get(settings.api) && expressModule.run(mainWindow);
});

Expand Down
9 changes: 6 additions & 3 deletions src/pages/settings/preload.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ function refreshSettings() {
api.checked = store.get(settings.api);
port.value = store.get(settings.apiSettings.port);
menuBar.checked = store.get(settings.menuBar);
mpris.checked = store.get(settings.mpris);
trayIcon.checked = store.get(settings.trayIcon);
// mpris.checked = store.get(settings.mpris);
}

/**
Expand Down Expand Up @@ -76,7 +77,8 @@ window.addEventListener("DOMContentLoaded", () => {
api = get("apiCheckbox");
port = get("port");
menuBar = get("menuBar");
mpris = get("mprisCheckbox");
trayIcon = get("trayIcon");
// mpris = get("mprisCheckbox");

refreshSettings();

Expand All @@ -85,5 +87,6 @@ window.addEventListener("DOMContentLoaded", () => {
addInputListener(api, settings.api);
addInputListener(port, settings.apiSettings.port);
addInputListener(menuBar, settings.menuBar);
addInputListener(mpris, settings.mpris);
addInputListener(trayIcon, settings.trayIcon);
// addInputListener(mpris, settings.mpris);
});
23 changes: 16 additions & 7 deletions src/pages/settings/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,25 @@ <h4>Menubar</h4>
</label>
</div>
</div>
<div class="section">
<h3>System</h3>
<div class="option">
<h4>Tray icon</h4>
<p>
Show Tidal-hifi's tray icon<br />
</p>
<label class="switch">
<input id="trayIcon" type="checkbox">
<span class="slider round"></span>
</label>
</div>
</div>
</section>
<section id="api" class="tab-panel">
<div class="section">
<h3>Api</h3>
<p style="margin-bottom: 15px;">
Tidal-hifi has a web api built in to allow users to get current song information. You can optionally enable playback control as well.
<br />
<br />
<small>* api changes require a restart to update</small>
</p>

<div class="option">
Expand Down Expand Up @@ -104,15 +114,12 @@ <h4>Playback control</h4>
</label>
</div>
</div>
<button onClick="restart()">Restart Tidal-hifi</button>
</section>
<section id="integrations" class="tab-panel">
<div class="section">
<h3>integrations</h3>
<p style="margin-bottom: 15px;">
Tidal-hifi is extensible trough the use of integrations. You can enable or disable integrations here
<br />
* not all integrations require restarting but some do, your best bet is to restart :)
</p>
<!-- disabled until the 403 with mpris-service/dbus is fixed -->
<!-- <div class="option">
Expand All @@ -125,7 +132,6 @@ <h4>mpris-player</h4>
<span class="slider round"></span>
</label>
</div> -->
<button onClick="restart()">Restart Tidal-hifi</button>
</div>
</section>
<section id="about" class="tab-panel">
Expand All @@ -138,6 +144,9 @@ <h4>mpris-player</h4>

</div>
</section>

<small>Some settings require a restart of Tidal-hifi. To do so click the button below:</small>
<button onClick="restart()" style ="width: 100%">Restart Tidal-hifi</button>
</div>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions src/scripts/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const store = new Store({
apiSettings: {
port: 47836,
},
trayIcon: true,
mpris: false,
windowBounds: { width: 800, height: 600 },
},
Expand Down
9 changes: 6 additions & 3 deletions src/scripts/tray.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ const { getMenu } = require("./menu");
const trayModule = {};
let tray;

trayModule.addTray = function(options = { icon: "" }) {
trayModule.addTray = function (options = { icon: "" }) {
tray = new Tray(options.icon);
};

trayModule.refreshTray = function() {
tray.on("click", function(e) {
trayModule.refreshTray = function () {
if (!tray) {
trayModule.addTray();
}
tray.on("click", function (e) {
// do nothing on click
});

Expand Down

0 comments on commit e2ea4d1

Please sign in to comment.