mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2024-11-22 13:32:42 +01:00
Merge branch 'feature/update' into docs/update-picture
This commit is contained in:
commit
e50e7de12e
15
CHANGELOG.md
15
CHANGELOG.md
@ -4,11 +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/),
|
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).
|
||||||
|
|
||||||
|
## [5.7.0]
|
||||||
|
|
||||||
|
- Renamed app to TIDAL Hi-Fi.
|
||||||
|
- Made sure all windows run with the same web preferences set (compared to main app).
|
||||||
|
- Fixes the last.fm bug.
|
||||||
|
|
||||||
## [5.6.0]
|
## [5.6.0]
|
||||||
|
|
||||||
- Added support for Wayland (on by default) fixes [#262](https://github.com/Mastermindzh/tidal-hifi/issues/262) and [#157](https://github.com/Mastermindzh/tidal-hifi/issues/157)
|
- Added support for Wayland (on by default) fixes [#262](https://github.com/Mastermindzh/tidal-hifi/issues/262) and [#157](https://github.com/Mastermindzh/tidal-hifi/issues/157)
|
||||||
- Made it clear in the readme that this tidal-hifi client supports High & Max audio settings. fixes [#261](https://github.com/Mastermindzh/tidal-hifi/issues/261)
|
- Made it clear in the readme that this TIDAL Hi-Fi client supports High & Max audio settings. fixes [#261](https://github.com/Mastermindzh/tidal-hifi/issues/261)
|
||||||
- Added app suspension inhibitors when music is playing. fixes [#257](https://github.com/Mastermindzh/tidal-hifi/issues/257)
|
|
||||||
- Fixed bug with theme files from user directory trying to load: "an error occurred reading the theme file"
|
- Fixed bug with theme files from user directory trying to load: "an error occurred reading the theme file"
|
||||||
- Fixed: config flags not being set correctly
|
- Fixed: config flags not being set correctly
|
||||||
- [DEV]:
|
- [DEV]:
|
||||||
@ -89,7 +94,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- New settings window by BlueManCZ
|
- New settings window by BlueManCZ
|
||||||
- Fixed the desktop files in electron-builder
|
- Fixed the desktop files in electron-builder
|
||||||
- icon is set to new static path based on Arch/Debian
|
- icon is set to new static path based on Arch/Debian
|
||||||
- Name has changed to Tidal-Hifi
|
- Name has changed to TIDAL Hi-Fi
|
||||||
|
|
||||||
## 4.1.2
|
## 4.1.2
|
||||||
|
|
||||||
@ -137,7 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
- Updated to Electron 15
|
- Updated to Electron 15
|
||||||
- Fixed the develop "build-unpacked" command
|
- Fixed the develop "build-unpacked" command
|
||||||
- Added setting to disable multiple tidal-hifi windows (defaults to true)
|
- Added setting to disable multiple TIDAL Hi-Fi windows (defaults to true)
|
||||||
- Added setting to disable HardwareMediaKeyHandling (defaults to false)
|
- Added setting to disable HardwareMediaKeyHandling (defaults to false)
|
||||||
|
|
||||||
## 2.8.2
|
## 2.8.2
|
||||||
@ -175,7 +180,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## 2.5.0
|
## 2.5.0
|
||||||
|
|
||||||
- Notify-send now correctly shows "Tidal HiFi" as the program name
|
- Notify-send now correctly shows "Tidal Hi-Fi" as the program name
|
||||||
- Updated dependencies (including electron itself)
|
- Updated dependencies (including electron itself)
|
||||||
|
|
||||||
### known issues
|
### known issues
|
||||||
|
27
README.md
27
README.md
@ -1,20 +1,20 @@
|
|||||||
# Tidal-hifi<img src = "./build/icon.png" height="40" align="right"/>
|
# TIDAL Hi-Fi (Max quality) <img src = "./build/icon.png" height="40" align="right"/>
|
||||||
|
|
||||||
![GitHub release](https://img.shields.io/github/release/Mastermindzh/tidal-hifi.svg) [![github builds](https://github.com/mastermindzh/tidal-hifi/actions/workflows/build.yml/badge.svg)](https://github.com/Mastermindzh/tidal-hifi/actions) [![Build Status](https://ci.mastermindzh.tech/api/badges/Mastermindzh/tidal-hifi/status.svg)](https://ci.mastermindzh.tech/Mastermindzh/tidal-hifi) [![Discord logo](./docs/images/discord.png)](https://discord.gg/yhNwf4v4He)
|
![GitHub release](https://img.shields.io/github/release/Mastermindzh/tidal-hifi.svg) [![github builds](https://github.com/mastermindzh/tidal-hifi/actions/workflows/build.yml/badge.svg)](https://github.com/Mastermindzh/tidal-hifi/actions) [![Build Status](https://ci.mastermindzh.tech/api/badges/Mastermindzh/tidal-hifi/status.svg)](https://ci.mastermindzh.tech/Mastermindzh/tidal-hifi) [![Discord logo](./docs/images/discord.png)](https://discord.gg/yhNwf4v4He)
|
||||||
|
|
||||||
The web version of [listen.tidal.com](https://listen.tidal.com) running in electron with hifi (High & Max) support thanks to widevine.
|
The web version of [listen.tidal.com](https://listen.tidal.com) running in electron with hifi (High & Max) support thanks to widevine.
|
||||||
|
|
||||||
![tidal-hifi preview](./docs/images/preview.png)
|
![TIDAL Hi-Fi preview](./docs/images/preview.png)
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
- [Tidal-hifi](#tidal-hifi)
|
- [TIDAL Hi-Fi (Max quality)](#tidal-hi-fi-max-quality-)
|
||||||
- [Table of Contents](#table-of-contents)
|
- [Table of Contents](#table-of-contents)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Contributions](#contributions)
|
- [Contributions](#contributions)
|
||||||
- [Why did I create tidal-hifi?](#why-did-i-create-tidal-hifi)
|
- [Why did I create TIDAL Hi-Fi?](#why-did-i-create-tidal-hi-fi)
|
||||||
- [Why not extend existing projects?](#why-not-extend-existing-projects)
|
- [Why not extend existing projects?](#why-not-extend-existing-projects)
|
||||||
- [Installation](#installation)
|
- [Installation](#installation)
|
||||||
- [Dependencies](#dependencies)
|
- [Dependencies](#dependencies)
|
||||||
@ -26,7 +26,6 @@ The web version of [listen.tidal.com](https://listen.tidal.com) running in elect
|
|||||||
- [Using source](#using-source)
|
- [Using source](#using-source)
|
||||||
- [Integrations](#integrations)
|
- [Integrations](#integrations)
|
||||||
- [Known bugs](#known-bugs)
|
- [Known bugs](#known-bugs)
|
||||||
- [last.fm doesn't work out of the box. Use rescrobbler as a workaround](#lastfm-doesnt-work-out-of-the-box-use-rescrobbler-as-a-workaround)
|
|
||||||
- [DRM not working on Windows](#drm-not-working-on-windows)
|
- [DRM not working on Windows](#drm-not-working-on-windows)
|
||||||
- [Special thanks to](#special-thanks-to)
|
- [Special thanks to](#special-thanks-to)
|
||||||
- [Donations](#donations)
|
- [Donations](#donations)
|
||||||
@ -58,7 +57,7 @@ To contribute you can use the standard GitHub features (issues, prs, etc) or joi
|
|||||||
|
|
||||||
- ![Discord logo](./docs/images/discord.png) [Join the Discord server](https://discord.gg/yhNwf4v4He)
|
- ![Discord logo](./docs/images/discord.png) [Join the Discord server](https://discord.gg/yhNwf4v4He)
|
||||||
|
|
||||||
## Why did I create tidal-hifi?
|
## Why did I create TIDAL Hi-Fi?
|
||||||
|
|
||||||
I moved from Spotify over to Tidal and found Linux support to be lacking.
|
I moved from Spotify over to Tidal and found Linux support to be lacking.
|
||||||
When I started this project there weren't any Linux apps that offered Tidal's "hifi" options nor any scripts to control it.
|
When I started this project there weren't any Linux apps that offered Tidal's "hifi" options nor any scripts to control it.
|
||||||
@ -103,10 +102,10 @@ To install with `snap` you need to download the pre-packaged snap-package from t
|
|||||||
|
|
||||||
### Arch Linux
|
### Arch Linux
|
||||||
|
|
||||||
Arch Linux users can use the AUR to install tidal-hifi:
|
Arch Linux users can use the AUR to install TIDAL Hi-Fi:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
trizen tidal-hifi-bin
|
trizen tidal-hifi-git
|
||||||
```
|
```
|
||||||
|
|
||||||
### Flatpak
|
### Flatpak
|
||||||
@ -130,13 +129,13 @@ nix-env -iA nixpkgs.tidal-hifi
|
|||||||
To install and work with the code on this project follow these steps:
|
To install and work with the code on this project follow these steps:
|
||||||
|
|
||||||
- git clone [https://github.com/Mastermindzh/tidal-hifi.git](https://github.com/Mastermindzh/tidal-hifi.git)
|
- git clone [https://github.com/Mastermindzh/tidal-hifi.git](https://github.com/Mastermindzh/tidal-hifi.git)
|
||||||
- cd tidal-hifi
|
- cd TIDAL Hi-Fi
|
||||||
- npm install
|
- npm install
|
||||||
- npm start
|
- npm start
|
||||||
|
|
||||||
## Integrations
|
## Integrations
|
||||||
|
|
||||||
tidal-hifi comes with several integrations out of the box.
|
TIDAL Hi-Fi comes with several integrations out of the box.
|
||||||
You can find these in the settings menu (`ctrl + =` by default) under the "integrations" tab.
|
You can find these in the settings menu (`ctrl + =` by default) under the "integrations" tab.
|
||||||
|
|
||||||
![integrations menu, showing a list of integrations](./docs/images/integrations.png)
|
![integrations menu, showing a list of integrations](./docs/images/integrations.png)
|
||||||
@ -148,15 +147,9 @@ Integrations with other projects that are not included natively:
|
|||||||
|
|
||||||
## Known bugs
|
## Known bugs
|
||||||
|
|
||||||
### last.fm doesn't work out of the box. Use rescrobbler as a workaround
|
|
||||||
|
|
||||||
The last.fm login doesn't work, as is evident from the following issue: [Last.fm login doesn't work](https://github.com/Mastermindzh/tidal-hifi/issues/4).
|
|
||||||
However, in that same issue you can read about a workaround using [rescrobbler](https://github.com/InputUsername/rescrobbled).
|
|
||||||
For now, that will be the default workaround.
|
|
||||||
|
|
||||||
### DRM not working on Windows
|
### DRM not working on Windows
|
||||||
|
|
||||||
Most Windows users run into DRM issues when trying to use tidal-hifi.
|
Most Windows users run into DRM issues when trying to use TIDAL Hi-Fi.
|
||||||
Nothing I can do about that I'm afraid... Tidal is working on removing/changing DRM so when they finish with that we can give it another shot.
|
Nothing I can do about that I'm afraid... Tidal is working on removing/changing DRM so when they finish with that we can give it another shot.
|
||||||
|
|
||||||
## Special thanks to
|
## Special thanks to
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# Theming tidal-hifi
|
# Theming TIDAL Hi-Fi
|
||||||
|
|
||||||
## Table of contents
|
## Table of contents
|
||||||
|
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
- [Theming tidal-hifi](#theming-tidal-hifi)
|
- [Theming TIDAL Hi-Fi](#theming-TIDAL Hi-Fi)
|
||||||
- [Table of contents](#table-of-contents)
|
- [Table of contents](#table-of-contents)
|
||||||
- [Custom CSS](#custom-css)
|
- [Custom CSS](#custom-css)
|
||||||
- [config](#config)
|
- [config](#config)
|
||||||
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<!-- tocstop -->
|
<!-- tocstop -->
|
||||||
|
|
||||||
By default tidal-hifi comes with a few themes.
|
By default TIDAL Hi-Fi comes with a few themes.
|
||||||
You can select these in the settings window under the theming tab as shown below.
|
You can select these in the settings window under the theming tab as shown below.
|
||||||
|
|
||||||
![Settings window with the theming tab opened](./images/theming.png)
|
![Settings window with the theming tab opened](./images/theming.png)
|
||||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "tidal-hifi",
|
"name": "TIDAL Hi-Fi",
|
||||||
"version": "5.6.0",
|
"version": "5.6.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "tidal-hifi",
|
"name": "TIDAL Hi-Fi",
|
||||||
"version": "5.6.0",
|
"version": "5.6.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
"castlabs"
|
"castlabs"
|
||||||
],
|
],
|
||||||
"author": "Rick van Lieshout <info@rickvanlieshout.com> (http://rickvanlieshout.com)",
|
"author": "Rick van Lieshout <info@rickvanlieshout.com> (http://rickvanlieshout.com)",
|
||||||
"homepage": "https://github.com/Mastermindzh/tidal-hifi",
|
"homepage": "https://github.com/Mastermindzh/TIDAL Hi-Fi",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron/remote": "^2.0.10",
|
"@electron/remote": "^2.0.10",
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
export default {
|
export default {
|
||||||
name: "tidal-hifi",
|
name: "TIDAL Hi-Fi",
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,6 @@ export function setManagedFlagsFromSettings(app: App) {
|
|||||||
for (const [key, value] of Object.entries(flagsFromSettings)) {
|
for (const [key, value] of Object.entries(flagsFromSettings)) {
|
||||||
if (value) {
|
if (value) {
|
||||||
flags[key].forEach((flag) => {
|
flags[key].forEach((flag) => {
|
||||||
Logger.log(`enabling command line option ${flag.flag} with value ${flag.value}`);
|
|
||||||
setFlag(app, flag.flag, flag.value);
|
setFlag(app, flag.flag, flag.value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -37,5 +36,6 @@ export function setManagedFlagsFromSettings(app: App) {
|
|||||||
*/
|
*/
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
function setFlag(app: App, flag: string, value?: any) {
|
function setFlag(app: App, flag: string, value?: any) {
|
||||||
|
Logger.log(`enabling command line option ${flag} with value ${value}`);
|
||||||
app.commandLine.appendSwitch(flag, value);
|
app.commandLine.appendSwitch(flag, value);
|
||||||
}
|
}
|
||||||
|
24
src/main.ts
24
src/main.ts
@ -37,10 +37,14 @@ const tidalUrl = "https://listen.tidal.com";
|
|||||||
let mainInhibitorId = -1;
|
let mainInhibitorId = -1;
|
||||||
|
|
||||||
initialize();
|
initialize();
|
||||||
|
|
||||||
let mainWindow: BrowserWindow;
|
let mainWindow: BrowserWindow;
|
||||||
const icon = path.join(__dirname, "../assets/icon.png");
|
const icon = path.join(__dirname, "../assets/icon.png");
|
||||||
const PROTOCOL_PREFIX = "tidal";
|
const PROTOCOL_PREFIX = "tidal";
|
||||||
|
const windowPreferences = {
|
||||||
|
sandbox: false,
|
||||||
|
plugins: true,
|
||||||
|
devTools: true, // I like tinkering, others might too
|
||||||
|
};
|
||||||
|
|
||||||
setDefaultFlags(app);
|
setDefaultFlags(app);
|
||||||
setManagedFlagsFromSettings(app);
|
setManagedFlagsFromSettings(app);
|
||||||
@ -84,10 +88,10 @@ function createWindow(options = { x: 0, y: 0, backgroundColor: "white" }) {
|
|||||||
backgroundColor: options.backgroundColor,
|
backgroundColor: options.backgroundColor,
|
||||||
autoHideMenuBar: true,
|
autoHideMenuBar: true,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
sandbox: false,
|
...windowPreferences,
|
||||||
|
...{
|
||||||
preload: path.join(__dirname, "preload.js"),
|
preload: path.join(__dirname, "preload.js"),
|
||||||
plugins: true,
|
},
|
||||||
devTools: true, // I like tinkering, others might too
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
enable(mainWindow.webContents);
|
enable(mainWindow.webContents);
|
||||||
@ -120,6 +124,18 @@ function createWindow(options = { x: 0, y: 0, backgroundColor: "white" }) {
|
|||||||
const { width, height } = mainWindow.getBounds();
|
const { width, height } = mainWindow.getBounds();
|
||||||
settingsStore.set(settings.windowBounds.root, { width, height });
|
settingsStore.set(settings.windowBounds.root, { width, height });
|
||||||
});
|
});
|
||||||
|
mainWindow.webContents.setWindowOpenHandler(() => {
|
||||||
|
return {
|
||||||
|
action: "allow",
|
||||||
|
overrideBrowserWindowOptions: {
|
||||||
|
webPreferences: {
|
||||||
|
sandbox: false,
|
||||||
|
plugins: true,
|
||||||
|
devTools: true, // I like tinkering, others might too
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function registerHttpProtocols() {
|
function registerHttpProtocols() {
|
||||||
|
@ -118,7 +118,7 @@ function hide() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restart tidal-hifi after changes
|
* Restart TIDAL Hi-Fi after changes
|
||||||
*/
|
*/
|
||||||
function restart() {
|
function restart() {
|
||||||
app.relaunch();
|
app.relaunch();
|
||||||
|
@ -250,7 +250,7 @@
|
|||||||
<div class="group__description">
|
<div class="group__description">
|
||||||
<h4>Update frequency</h4>
|
<h4>Update frequency</h4>
|
||||||
<p>
|
<p>
|
||||||
The amount of time, in milliseconds, that tidal-hifi will refresh its playback info by scraping the
|
The amount of time, in milliseconds, that TIDAL Hi-Fi will refresh its playback info by scraping the
|
||||||
website.
|
website.
|
||||||
The default of 500 seems to work in more cases but if you are fine with a bit more resource usage you
|
The default of 500 seems to work in more cases but if you are fine with a bit more resource usage you
|
||||||
can decrease it as well.
|
can decrease it as well.
|
||||||
@ -300,7 +300,7 @@
|
|||||||
<div class="group__description">
|
<div class="group__description">
|
||||||
<h4>Wayland support</h4>
|
<h4>Wayland support</h4>
|
||||||
<p>
|
<p>
|
||||||
Adds a couple of Electron flags to help Tidal-hifi run smoothly on the Wayland window system.
|
Adds a couple of Electron flags to help TIDAL Hi-Fi run smoothly on the Wayland window system.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<label class="switch">
|
<label class="switch">
|
||||||
|
@ -20,7 +20,7 @@ import { settingsStore } from "./scripts/settings";
|
|||||||
import { setTitle } from "./scripts/window-functions";
|
import { setTitle } from "./scripts/window-functions";
|
||||||
|
|
||||||
const notificationPath = `${app.getPath("userData")}/notification.jpg`;
|
const notificationPath = `${app.getPath("userData")}/notification.jpg`;
|
||||||
const appName = "Tidal Hifi";
|
const appName = "TIDAL Hi-Fi";
|
||||||
let currentSong = "";
|
let currentSong = "";
|
||||||
let player: Player;
|
let player: Player;
|
||||||
let currentPlayStatus = MediaStatus.paused;
|
let currentPlayStatus = MediaStatus.paused;
|
||||||
@ -531,8 +531,8 @@ setInterval(function () {
|
|||||||
if (process.platform === "linux" && settingsStore.get(settings.mpris)) {
|
if (process.platform === "linux" && settingsStore.get(settings.mpris)) {
|
||||||
try {
|
try {
|
||||||
player = Player({
|
player = Player({
|
||||||
name: "tidal-hifi",
|
name: "TIDAL Hi-Fi",
|
||||||
identity: "tidal-hifi",
|
identity: "TIDAL Hi-Fi",
|
||||||
supportedUriSchemes: ["file"],
|
supportedUriSchemes: ["file"],
|
||||||
supportedMimeTypes: [
|
supportedMimeTypes: [
|
||||||
"audio/mpeg",
|
"audio/mpeg",
|
||||||
@ -544,7 +544,6 @@ if (process.platform === "linux" && settingsStore.get(settings.mpris)) {
|
|||||||
supportedInterfaces: ["player"],
|
supportedInterfaces: ["player"],
|
||||||
desktopEntry: "tidal-hifi",
|
desktopEntry: "tidal-hifi",
|
||||||
});
|
});
|
||||||
|
|
||||||
// Events
|
// Events
|
||||||
const events = {
|
const events = {
|
||||||
next: "next",
|
next: "next",
|
||||||
|
@ -53,7 +53,7 @@ const observer = () => {
|
|||||||
const idleStatus = {
|
const idleStatus = {
|
||||||
details: `Browsing Tidal`,
|
details: `Browsing Tidal`,
|
||||||
largeImageKey: "tidal-hifi-icon",
|
largeImageKey: "tidal-hifi-icon",
|
||||||
largeImageText: `Tidal HiFi ${app.getVersion()}`,
|
largeImageText: `TIDAL Hi-Fi ${app.getVersion()}`,
|
||||||
instance: false,
|
instance: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ import { mediaInfo } from "./mediaInfo";
|
|||||||
import { settingsStore } from "./settings";
|
import { settingsStore } from "./settings";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function to enable tidal-hifi's express api
|
* Function to enable TIDAL Hi-Fi's express api
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// expressModule.run = function (mainWindow)
|
// expressModule.run = function (mainWindow)
|
||||||
|
@ -33,7 +33,6 @@ export const getMenu = function (mainWindow: BrowserWindow) {
|
|||||||
{
|
{
|
||||||
label: name,
|
label: name,
|
||||||
submenu: [
|
submenu: [
|
||||||
{ role: "about" },
|
|
||||||
settingsMenuEntry,
|
settingsMenuEntry,
|
||||||
{ type: "separator" },
|
{ type: "separator" },
|
||||||
{ role: "services" },
|
{ role: "services" },
|
||||||
@ -101,12 +100,6 @@ export const getMenu = function (mainWindow: BrowserWindow) {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
settingsMenuEntry,
|
settingsMenuEntry,
|
||||||
{
|
|
||||||
label: "About",
|
|
||||||
click() {
|
|
||||||
showSettingsWindow("about");
|
|
||||||
},
|
|
||||||
},
|
|
||||||
toggleWindow,
|
toggleWindow,
|
||||||
quitMenuEntry,
|
quitMenuEntry,
|
||||||
];
|
];
|
||||||
|
Loading…
Reference in New Issue
Block a user