From 35315a605b33f7e2d69350b3fa2235518c63f580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 19 Apr 2023 12:51:14 +0200 Subject: [PATCH] mpris: Expose player app This will allow accessing it from the notification. Part-of: --- js/ui/mpris.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/js/ui/mpris.js b/js/ui/mpris.js index f44f87e92..93d1ec68b 100644 --- a/js/ui/mpris.js +++ b/js/ui/mpris.js @@ -120,6 +120,10 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter { return this._trackCoverUrl; } + get app() { + return this._app; + } + playPause() { this._playerProxy.PlayPauseAsync().catch(logError); } @@ -143,14 +147,8 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter { raise() { // The remote Raise() method may run into focus stealing prevention, // so prefer activating the app via .desktop file if possible - let app = null; - if (this._mprisProxy.DesktopEntry) { - let desktopId = `${this._mprisProxy.DesktopEntry}.desktop`; - app = Shell.AppSystem.get_default().lookup_app(desktopId); - } - - if (app) - app.activate(); + if (this._app) + this._app.activate(); else if (this._mprisProxy.CanRaise) this._mprisProxy.RaiseAsync().catch(logError); } @@ -222,6 +220,13 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter { this._trackCoverUrl = ''; } + if (this._mprisProxy.DesktopEntry) { + const desktopId = `${this._mprisProxy.DesktopEntry}.desktop`; + this._app = Shell.AppSystem.get_default().lookup_app(desktopId); + } else { + this._app = null; + } + this.emit('changed'); let visible = this._playerProxy.CanPlay;