aboutsummaryrefslogtreecommitdiff
path: root/src/music-player-bridge.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/music-player-bridge.vala')
-rw-r--r--src/music-player-bridge.vala17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/music-player-bridge.vala b/src/music-player-bridge.vala
index 18f1c40..5b9afea 100644
--- a/src/music-player-bridge.vala
+++ b/src/music-player-bridge.vala
@@ -163,7 +163,6 @@ public class MusicPlayerBridge : GLib.Object
}
var mpris_key = determine_key ( desktop );
- // Are we sure clients will appear like this with the new registration method in place.
if ( this.registered_clients.has_key (mpris_key) == false ){
debug("New client has registered that we have not seen before: %s", dbus_name );
PlayerController ctrl = new PlayerController ( this.root_menu,
@@ -189,14 +188,14 @@ public class MusicPlayerBridge : GLib.Object
public void client_has_vanished ( string mpris_root_interface )
{
- debug("MusicPlayerBridge -> client with dbus interface %s has vanished",
+ debug("\n MusicPlayerBridge -> client with dbus interface %s has vanished",
mpris_root_interface );
if (root_menu != null){
- debug("attempt to remove %s", mpris_root_interface);
+ debug("\n attempt to remove %s", mpris_root_interface);
var mpris_key = determine_key ( mpris_root_interface );
if ( mpris_key != null && this.registered_clients.has_key(mpris_key)){
registered_clients[mpris_key].hibernate();
- debug("Successively offlined client %s", mpris_key);
+ debug("\n Successively offlined client %s", mpris_key);
}
}
}
@@ -279,15 +278,21 @@ public class MusicPlayerBridge : GLib.Object
*/
private static string? determine_key(owned string desktop_or_interface)
{
+ // handle the special case of amarok, (kde4-amarok desktop file name)
+ if (desktop_or_interface.contains("amarok")){
+ return "amarok";
+ }
+
var result = desktop_or_interface;
+
var tokens = desktop_or_interface.split( "." );
if (tokens != null && tokens.length > 1){
result = tokens[tokens.length - 1];
- }
+ }
var temp = result.split("-");
if (temp != null && temp.length > 1){
result = temp[0];
- }
+ }
return result;
}