mirror of
https://github.com/aunetx/deezer-linux.git
synced 2025-12-10 23:40:52 +01:00
fix: systray flickers on every player update
This commit is contained in:
parent
9cf685e4c5
commit
b71beb6323
@ -1,15 +1,15 @@
|
||||
From bb03d4664c7f7137c618cc575fc5d3029ae239a1 Mon Sep 17 00:00:00 2001
|
||||
From 04b442c083d2900f91a7d68abf3a89932a844e0c Mon Sep 17 00:00:00 2001
|
||||
From: josselinonduty <contact@josselinonduty.fr>
|
||||
Date: Sun, 30 Nov 2025 18:36:05 +0100
|
||||
Subject: [PATCH] feat: Provide metadata; Better MPRIS compatiblity
|
||||
Date: Mon, 1 Dec 2025 16:50:13 +0100
|
||||
Subject: [PATCH] feat: Provide metadata and MPRIS compatiblity
|
||||
|
||||
---
|
||||
build/main.js | 144 ++++++++++++++++++++++++++++++++++++++--------
|
||||
build/renderer.js | 118 +++++++++++++++++++++++++++++++------
|
||||
2 files changed, 222 insertions(+), 40 deletions(-)
|
||||
build/main.js | 148 ++++++++++++++++++++++++++++++++++++++--------
|
||||
build/renderer.js | 118 +++++++++++++++++++++++++++++++-----
|
||||
2 files changed, 225 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/build/main.js b/build/main.js
|
||||
index 75182f1..481fc5c 100644
|
||||
index 75182f1..859f11e 100644
|
||||
--- a/build/main.js
|
||||
+++ b/build/main.js
|
||||
@@ -87,6 +87,10 @@
|
||||
@ -71,7 +71,7 @@ index 75182f1..481fc5c 100644
|
||||
}
|
||||
play() {
|
||||
this.ipc.send("channel-player-media-control", MediaPlayerControl.Play);
|
||||
@@ -1207,15 +1235,64 @@
|
||||
@@ -1207,15 +1235,66 @@
|
||||
this.ipc.send("channel-player-shuffle-update", shuffle);
|
||||
}
|
||||
setRepeatMode(repeatMode) {
|
||||
@ -122,27 +122,30 @@ index 75182f1..481fc5c 100644
|
||||
+ });
|
||||
}
|
||||
- setPlayerInfo(player) {
|
||||
+ setPlayerInfo(player, data) {
|
||||
(this.player = Object.assign(this.player, player)),
|
||||
- (this.player = Object.assign(this.player, player)),
|
||||
- this.emit(MediaEvents.PlayerUpdated, this.player);
|
||||
+ this.emit(MediaEvents.PlayerUpdated, this.player),
|
||||
+ (this.mprisPlayer.playbackStatus =
|
||||
+ this.player.state === "playing"
|
||||
+ ? external_electron_mpris_namespaceObject.PLAYBACK_STATUS_PLAYING
|
||||
+ : external_electron_mpris_namespaceObject.PLAYBACK_STATUS_PAUSED),
|
||||
+ (this.mprisPlayer.loopStatus =
|
||||
+ this.player.repeatMode === MediaPlayerRepeatMode.All
|
||||
+ ? "Playlist"
|
||||
+ : this.player.repeatMode === MediaPlayerRepeatMode.Once
|
||||
+ ? "Track"
|
||||
+ : "None");
|
||||
+ setPlayerInfo(player, data) {
|
||||
+ if (Object.keys(player).length > 0) {
|
||||
+ (this.player = Object.assign(this.player, player)),
|
||||
+ this.emit(MediaEvents.PlayerUpdated, this.player),
|
||||
+ (this.mprisPlayer.playbackStatus =
|
||||
+ this.player.state === "playing"
|
||||
+ ? external_electron_mpris_namespaceObject.PLAYBACK_STATUS_PLAYING
|
||||
+ : external_electron_mpris_namespaceObject.PLAYBACK_STATUS_PAUSED),
|
||||
+ (this.mprisPlayer.loopStatus =
|
||||
+ this.player.repeatMode === MediaPlayerRepeatMode.All
|
||||
+ ? "Playlist"
|
||||
+ : this.player.repeatMode === MediaPlayerRepeatMode.Once
|
||||
+ ? "Track"
|
||||
+ : "None");
|
||||
+ }
|
||||
+ if (data?.player?.volume) {
|
||||
+ this.mprisPlayer.volume = data.player.volume;
|
||||
+ }
|
||||
}
|
||||
getTrackInfo() {
|
||||
return this.track;
|
||||
@@ -1275,7 +1352,11 @@
|
||||
@@ -1275,7 +1354,11 @@
|
||||
1,
|
||||
(0, external_inversify_namespaceObject.inject)(SERVICE_USER)
|
||||
),
|
||||
@ -155,7 +158,7 @@ index 75182f1..481fc5c 100644
|
||||
],
|
||||
MediaService
|
||||
);
|
||||
@@ -2457,7 +2538,7 @@
|
||||
@@ -2457,7 +2540,7 @@
|
||||
(this.ipc = ipc),
|
||||
(this.app = app);
|
||||
}
|
||||
@ -164,7 +167,7 @@ index 75182f1..481fc5c 100644
|
||||
const previousUserID = this.user.id;
|
||||
(this.user = Object.assign(this.user, userInfo)),
|
||||
previousUserID !== this.user.id &&
|
||||
@@ -2689,23 +2770,34 @@
|
||||
@@ -2689,23 +2772,34 @@
|
||||
const PlayerIpc_ipc = main_di.get(SERVICE_IPC),
|
||||
media = main_di.get(SERVICE_MEDIA),
|
||||
powerSave = main_di.get(SERVICE_POWER_SAVE);
|
||||
@ -212,7 +215,7 @@ index 75182f1..481fc5c 100644
|
||||
});
|
||||
const UpdaterIpc_ipc = main_di.get(SERVICE_IPC),
|
||||
autoUpdater = main_di.get(SERVICE_UPDATER);
|
||||
@@ -2714,8 +2806,8 @@
|
||||
@@ -2714,8 +2808,8 @@
|
||||
});
|
||||
const UserIpc_ipc = main_di.get(SERVICE_IPC),
|
||||
user = main_di.get(SERVICE_USER);
|
||||
@ -223,7 +226,7 @@ index 75182f1..481fc5c 100644
|
||||
});
|
||||
var application_awaiter = function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
@@ -2781,6 +2873,10 @@
|
||||
@@ -2781,6 +2875,10 @@
|
||||
"autoplay-policy",
|
||||
"no-user-gesture-required"
|
||||
),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user