summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/ui/mpris.js21
1 files 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;