tidal-hifi: improve quality of the desktop entry

This patch improves the desktop entry for `tidal-hifi` because I noticed it looked a little funny.

Summary:
 - Changed the file name to `tidal-hifi` (to remove the whitespace).
 - Change the `desktopName` (aesthetic name) to "TIDAL Hi-Fi".
 - Change the generic name to "Music Player" because "TIDAL Hi-Fi" is not generic.
 - Make `comment` and `exec` (and `name`) follow the values used for `meta` attributes to reduce maintenance overhead slightly.
 - Fix capitalization errors in `meta.description`.
 - Change the `categories` slightly to be more similar to other streaming service programs.
 - Re-ordered the attributes to make it easier to read along with <https://specifications.freedesktop.org/desktop-entry-spec/1.4/recognized-keys.html>.

Each commit has a justification in its summary.

tidal-hifi: remove type from desktop entry

It already has a default value of `"Application"` if left unspecified.

It's also not included in the example for this build helper.

<fd751b2cae/doc/build-helpers/trivial-build-helpers.chapter.md (L219-L221)>

tidal-hifi: change desktop entry filename to self.pname

The `name` argument for this function corresponds to the filename in the
Nix store, it is not the human-friendly display name.

Some desktop entries use the display name as the filename, but I hate
spaces in filenames if they aren't necessary.

<fd751b2cae/doc/build-helpers/trivial-build-helpers.chapter.md (L215-L217)>

tidal-hifi: change desktop entry display name to TIDAL Hi-Fi

The `desktopName` argument to this function corresponds with the `Name`
key in the generated `.desktop` file, which is the display name for the
human.

<fd751b2cae/doc/build-helpers/trivial-build-helpers.chapter.md (L223-L225)>

tidal-hifi: change desktop entry generic name to Music Player

Judging by the example given in the Nixpkgs documentation, this generic
name should be a short description of what the program does.

In this case, it is a "Music Player".

<fd751b2cae/doc/build-helpers/trivial-build-helpers.chapter.md (L247)>

tidal-hifi: desktop entry comment same as meta.description

There's no reason to say the same thing twice.

Also fixed the capitalization of "Electron" and "Widevine"
since they are proper nouns.

tidal-hifi: change desktop entry exec to meta.mainProgram

The `meta.mainProgram` attribute is now considered the source of truth
if the binary name changes upstream, it only has to be updated in one
position for this package.

tidal-hifi: change desktop entry categories to match other music players

Removed `Video`, kept `Network`, now it matches Spotify's desktop entry
more closely.
This commit is contained in:
Jacob Birkett 2025-06-23 23:55:46 -07:00
parent 5df7985888
commit 29b8657231

View File

@ -87,7 +87,7 @@ let
vulkan-loader
];
in
buildNpmPackage {
buildNpmPackage (self: {
pname = "tidal-hifi";
inherit version;
@ -125,21 +125,20 @@ buildNpmPackage {
desktopItems = [
(makeDesktopItem {
type = "Application";
name = "TIDAL Hi-Fi";
desktopName = "tidal-hifi";
genericName = "TIDAL Hi-Fi";
comment = "The web version of listen.tidal.com running in electron with hifi support thanks to widevine.";
name = self.pname;
desktopName = "TIDAL Hi-Fi";
genericName = "Music Player";
comment = self.meta.description;
icon = "tidal-hifi";
exec = "tidal-hifi";
exec = self.meta.mainProgram;
terminal = false;
mimeTypes = [ "x-scheme-handler/tidal" ];
categories = [
"Network"
"Application"
"AudioVideo"
"Audio"
"Video"
"Music"
"Player"
"Network"
"AudioVideo"
];
startupNotify = true;
startupWMClass = "tidal-hifi";
@ -190,7 +189,7 @@ buildNpmPackage {
meta = {
changelog = "https://github.com/Mastermindzh/tidal-hifi/releases/tag/${version}";
description = "Web version of Tidal running in electron with hifi support thanks to widevine";
description = "Web version of Tidal running in Electron with Hi-Fi support thanks to Widevine";
homepage = "https://github.com/Mastermindzh/tidal-hifi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
@ -201,4 +200,4 @@ buildNpmPackage {
platforms = lib.platforms.linux;
mainProgram = "tidal-hifi";
};
}
})