Commit 29b86572 authored by Jacob Birkett's avatar Jacob Birkett
Browse files

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.

<https://github.com/NixOS/nixpkgs/blob/fd751b2cae7edc93d8f4bf11916169aae84964aa/doc/build-helpers/trivial-build-helpers.chapter.md?plain=1#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.

<https://github.com/NixOS/nixpkgs/blob/fd751b2cae7edc93d8f4bf11916169aae84964aa/doc/build-helpers/trivial-build-helpers.chapter.md?plain=1#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.

<https://github.com/NixOS/nixpkgs/blob/fd751b2cae7edc93d8f4bf11916169aae84964aa/doc/build-helpers/trivial-build-helpers.chapter.md?plain=1#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".

<https://github.com/NixOS/nixpkgs/blob/fd751b2cae7edc93d8f4bf11916169aae84964aa/doc/build-helpers/trivial-build-helpers.chapter.md?plain=1#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.
parent 5df79858
Loading
Loading
Loading
Loading
+11 −12
Original line number Diff line number Diff line
@@ -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 = [
        "Audio"
        "Music"
        "Player"
        "Network"
        "Application"
        "AudioVideo"
        "Audio"
        "Video"
      ];
      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";
  };
}
})