diff --git a/Makefile b/Makefile index 3c92291..224bdae 100644 --- a/Makefile +++ b/Makefile @@ -48,6 +48,9 @@ prepare: clean install_build_deps @echo "08 - Provide additional metadata (https://github.com/aunetx/deezer-linux/pull/95)" @echo "09 - Add Discord Rich Presence (https://github.com/aunetx/deezer-linux/pull/82)" @echo "10 - Improve responsiveness on small devices (https://github.com/aunetx/deezer-linux/pull/122)" + @echo "11 - Hide Application is offline banner (https://github.com/aunetx/deezer-linux/pull/124)" + @echo "12 - Disable animations (https://github.com/aunetx/deezer-linux/pull/133)" + @$(foreach p, $(wildcard ./patches/*), patch -p 1 -d $(APP_DIR) < $(p);) @echo "Append `package-append.json` to the `package.json` of the app" diff --git a/README.md b/README.md index a4cd8cb..1e0102e 100644 --- a/README.md +++ b/README.md @@ -37,19 +37,23 @@ Other packages can be installed from you package manager, either by clicking on ## Usage -| Option | Description | -| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | -| `--start-in-tray` | Start the app in the tray (see [patch](./patches/01-start-hidden-in-tray.patch)) | -| `--disable-systray` | Quit the app when the window is closed (see [patch](./patches/03-quit.patch)) | -| `--keep-kernel` | Use the exact kernel version (see [patch](./patches/05-remove-os-information.patch))
_This feature impacts privacy._ | -| `--disable-features` | Disable some features (see [patch](./patches/06-better-management-of-MPRIS.patch)) | -| `--enable-discord-rpc` | Enable Discord RPC integration (see [patch](./patches/09-discord-rich-presence.patch)) | -| `--enable-wayland-ime` `--ozone-platform-hint=auto` `--wayland-text-input-version=3` | Enable IME keyboard support on Wayland | +| Option | Description | +| ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `--start-in-tray` | Start the app in the tray (see [patch](./patches/01-start-hidden-in-tray.patch)) | +| `--disable-systray` | Quit the app when the window is closed (see [patch](./patches/03-quit.patch)) | +| `--keep-kernel` | Use the exact kernel version (see [patch](./patches/05-remove-os-information.patch))
_This feature impacts privacy._ | +| `--disable-features` | Disable some features (see [patch](./patches/06-better-management-of-MPRIS.patch)) | +| `--enable-discord-rpc` | Enable Discord RPC integration (see [patch](./patches/09-discord-rich-presence.patch)) | +| `--hide-appoffline-banner` | Hide the "Application is offline" banner that appears when using a VPN or DNS blocker (see [patch](./patches/11-hide-appoffline-banner.patch)) | +| `--disable-animations` | Disable animations (see [patch](./patches/12-disable-animations.patch)) | +| `--enable-wayland-ime` `--ozone-platform-hint=auto` `--wayland-text-input-version=3` | Enable IME keyboard support on Wayland | -| Environment variable | Options | Description | -| -------------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `LOG_LEVEL` | `silly`,`debug`,`verbose`,`info`,`warning`,`error` | Set the log level (see [patch](./patches/07-log-level-environment-variable.patch)) | -| `DZ_DEVTOOLS` | `yes`,`no` | Enable the developer console (ctrl+shift+i) | +| Environment variable | Options | Description | +| --------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------ | +| `DZ_HIDE_APPOFFLINE_BANNER` | `yes`,`no` | Hide the "Application is offline" banner (see [patch](./patches/11-hide-appoffline-banner.patch)) | +| `DZ_DISABLE_ANIMATIONS` | `yes`,`no` | Disable animations (see [patch](./patches/12-disable-animations.patch)) | +| `LOG_LEVEL` | `silly`,`debug`,`verbose`,`info`,`warning`,`error` | Set the log level (see [patch](./patches/07-log-level-environment-variable.patch)) | +| `DZ_DEVTOOLS` | `yes`,`no` | Enable the developer console (ctrl+shift+i) | ## Building from source diff --git a/dev.aunetx.deezer.desktop b/dev.aunetx.deezer.desktop index 0ea9bd5..061107f 100644 --- a/dev.aunetx.deezer.desktop +++ b/dev.aunetx.deezer.desktop @@ -11,4 +11,8 @@ Categories=Audio;Music;Player;AudioVideo; Keywords=Music;Player;Streaming;Online; StartupWMClass=Deezer SingleMainWindow=true -X-GNOME-UsesNotifications=true \ No newline at end of file +X-GNOME-UsesNotifications=true + +# Used by flatpak/flathub +Exec=run.sh %U +TryExec=run.sh \ No newline at end of file diff --git a/patches/11-hide-appoffline-banner.patch b/patches/11-hide-appoffline-banner.patch new file mode 100644 index 0000000..e827657 --- /dev/null +++ b/patches/11-hide-appoffline-banner.patch @@ -0,0 +1,66 @@ +From bbb88f846c94978959f4816069332b4d9f9f4dab Mon Sep 17 00:00:00 2001 +From: josselinonduty +Date: Tue, 8 Jul 2025 12:54:19 +0200 +Subject: [PATCH] feat: add toggle to hide application offline banner + +Original patch: Aurélien Hamy +This solves #123 by adding the `--hide-appoffline-banner` command-line argument +to hide the annoying "Application is offline" banner, that sometimes appears when +using a VPN or DNS level blocker. +--- + build/index.html | 6 ++++++ + build/main.js | 5 +++++ + build/preload.js | 4 ++++ + 3 files changed, 15 insertions(+) + +diff --git a/build/index.html b/build/index.html +index 4efcd23..4be829c 100644 +--- a/build/index.html ++++ b/build/index.html +@@ -86,6 +86,12 @@ + width: auto !important; + } + } ++ ++ /* hide the offline alert when needed */ ++ .hide-AppOffline-banner ++ .alert-wrapper:has(> div[data-testid="alert-AppOffline"]) { ++ display: none !important; ++ } + + + +diff --git a/build/main.js b/build/main.js +index 99935cb..1c16dbe 100644 +--- a/build/main.js ++++ b/build/main.js +@@ -3166,6 +3166,11 @@ + getRealPath(external_electron_namespaceObject.app, __dirname), + "preload.js" + ), ++ additionalArguments: [ ++ (process.argv.some((arg) => arg === "--hide-appoffline-banner") || ++ "yes" === process.env.DZ_HIDE_APPOFFLINE_BANNER) && ++ "--hide-appoffline-banner", ++ ].filter(Boolean), + }, + windowOptions = { + title: "Deezer Desktop", +diff --git a/build/preload.js b/build/preload.js +index 1301e93..05939c4 100644 +--- a/build/preload.js ++++ b/build/preload.js +@@ -538,6 +538,10 @@ + external_i18next_default().dir(external_i18next_default().language) + ? "rtl" + : "ltr"); ++ if (process.argv.some((arg) => arg === "--hide-appoffline-banner")) ++ document ++ .getElementsByTagName("body")[0] ++ .classList.add("hide-AppOffline-banner"); + }); + })(), + (module.exports = __webpack_exports__); +-- +2.48.1 + diff --git a/patches/12-disable-animations.patch b/patches/12-disable-animations.patch new file mode 100644 index 0000000..0dbe4ba --- /dev/null +++ b/patches/12-disable-animations.patch @@ -0,0 +1,60 @@ +From a220daa47a06d19ff6a995d567c0f46e42d14f6b Mon Sep 17 00:00:00 2001 +From: josselinonduty +Date: Tue, 8 Jul 2025 14:37:23 +0200 +Subject: [PATCH] feat(patch): disable animations (cli/env) + +--- + build/index.html | 6 ++++++ + build/main.js | 3 +++ + build/preload.js | 4 ++++ + 3 files changed, 13 insertions(+) + +diff --git a/build/index.html b/build/index.html +index 4be829c..2ef7709 100644 +--- a/build/index.html ++++ b/build/index.html +@@ -92,6 +92,12 @@ + .alert-wrapper:has(> div[data-testid="alert-AppOffline"]) { + display: none !important; + } ++ ++ /* Disable animations */ ++ .disable-animations * { ++ animation: none !important; ++ transition: none !important; ++ } + + + +diff --git a/build/main.js b/build/main.js +index 8fa4b6f..61028cd 100644 +--- a/build/main.js ++++ b/build/main.js +@@ -3246,6 +3246,9 @@ + (process.argv.some((arg) => arg === "--hide-appoffline-banner") || + "yes" === process.env.DZ_HIDE_APPOFFLINE_BANNER) && + "--hide-appoffline-banner", ++ (process.argv.some((arg) => arg === "--disable-animations") || ++ "yes" === process.env.DZ_DISABLE_ANIMATIONS) && ++ "--disable-animations", + ].filter(Boolean), + }, + windowOptions = { +diff --git a/build/preload.js b/build/preload.js +index 05939c4..0df9150 100644 +--- a/build/preload.js ++++ b/build/preload.js +@@ -542,6 +542,10 @@ + document + .getElementsByTagName("body")[0] + .classList.add("hide-AppOffline-banner"); ++ if (process.argv.some((arg) => arg === "--disable-animations")) ++ document ++ .getElementsByTagName("body")[0] ++ .classList.add("disable-animations"); + }); + })(), + (module.exports = __webpack_exports__); +-- +2.48.1 +