Bug 365275

Summary: MPRIS2 DesktopEntry value of kde4-amarok doesn't match name of installed .desktop file
Product: amarok Reporter: Antonio Rojas <arojas>
Component: D-Bus interfacesAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: normal CC: alex.merry, anusharoyww, heiko.becker, hein, kde, kde, plasma-bugs, rdieter, simonandric5
Priority: NOR    
Version: 2.8.90 (2.9 beta)   
Target Milestone: 2.9   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 2.9

Description Antonio Rojas 2016-07-09 09:02:24 UTC
The MPRIS controls in taskbar tooltips are not appearing in Plasma 5.7. This worked fine in the beta, and downgrading plasma-desktop to 5.6.95 fixes it, so it's a recent regression. The media control applet works fine.

Reproducible: Always
Comment 1 Antonio Rojas 2016-07-09 09:26:19 UTC
After some more testing, this seems to affect only Amarok.
I've bisected it to commit 0d6442d in plasma-desktop
Comment 2 Eike Hein 2016-07-10 06:25:25 UTC
Please attach the following information:

1) The name and location of Amarok's .desktop file on your system

2) xprop output for the Amarok window
Comment 3 Antonio Rojas 2016-07-10 08:39:59 UTC
/usr/share/applications/kde4/amarok.desktop

> xprop
_NET_WM_ICON_GEOMETRY(CARDINAL) = 410, 1040, 46, 38
_NET_WM_USER_TIME(CARDINAL) = 1658952
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 45, 0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 45, 0
_NET_WM_DESKTOP(CARDINAL) = 0
_KDE_NET_WM_ACTIVITIES(STRING) = "68d92729-b267-43de-958d-ba75613b289a"
WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 140509535
_NET_STARTUP_ID(UTF8_STRING) = "0"
WM_WINDOW_ROLE(STRING) = "MainWindow"
_NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ
WM_COLORMAP_WINDOWS(WINDOW): window id # 0x8600137
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 183260
_NET_WM_ICON(CARDINAL) =        Icon (16 x 16):
[...] (ASCII-art Icon stuff removed)
XdndAware(ATOM) = BITMAP
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
_NET_WM_NAME(UTF8_STRING) = "En pausa  ::  Amarok"
WM_CLIENT_LEADER(WINDOW): window id # 0x8600004
_NET_WM_PID(CARDINAL) = 2486
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_NAME(STRING) = "En pausa  ::  Amarok"
WM_LOCALE_NAME(STRING) = "es_ES.UTF-8"
WM_CLASS(STRING) = "amarok", "Amarok"
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
                bitmap id # to use for icon: 0x8600113
                window id # of group leader: 0x8600004
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified size: 1920 by 1080
                program specified size: 1920 by 1080
                program specified minimum size: 814 by 191
                window gravity: NorthWest
WM_CLIENT_MACHINE(STRING) = "arl-portatil"
WM_COMMAND(STRING) = { "/usr/bin/amarok" }
Comment 4 Eike Hein 2016-07-10 08:45:44 UTC
Kai, thoughts? Going by the above the heuristic should produce a usable launcher URL from window metadata.
Comment 5 Kai Uwe Broulik 2016-07-10 09:01:45 UTC
Probably Amarok's desktop file not matching what it announces on MPRIS. Can you check the DesktopEntry Amarok announces in its MPRIS interface? The commit that changed it is [1] but since the new approach is how it should have been from the beginning, this is a bug in Amarok fwiw.

[1] https://quickgit.kde.org/?p=plasma-desktop.git&a=commit&h=0d6442d8374f87880de2aad044cd1563ed6fde75
Comment 6 Eike Hein 2016-07-10 09:08:49 UTC
I just installed Amarok, here's the DesktopEntry:

kde4-amarok

Reassigning to Amarok.
Comment 7 Antonio Rojas 2016-07-10 10:14:25 UTC
https://git.reviewboard.kde.org/r/128418/

Since there is not much activity in Amarok-land nowadays, would be great if someone could review and commit it.
Comment 8 Antonio Rojas 2016-07-10 10:24:48 UTC
And the same fix for juk

https://git.reviewboard.kde.org/r/128419/
Comment 9 Eike Hein 2016-07-17 07:23:21 UTC
*** Bug 365740 has been marked as a duplicate of this bug. ***
Comment 10 Matěj Laitl 2016-08-20 11:12:20 UTC
Git commit 9449ec56d1fd77a0bfa1f7134a2bf4f91ffd14d3 by Matěj Laitl, on behalf of Antonio Rojas.
Committed on 20/08/2016 at 11:10.
Pushed by laitl into branch 'master'.

Fix MPRIS2 DesktopEntry value

According to the MPRIS2 spec, the DesktopEntry value should be
"the basename of the .desktop file" [1], not the desktop-file-id. So
for amarok it should be "amarok" and not "kde4-amarok", regardless of
where the desktop file is installed. This fixes displaying MPRIS
controls in the Amarok taskbar tooltip in Plasma 5.7

[1] https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html#Property:DesktopEntry

Testing done by Antonio:

Player controls are displayed again in the Amarok taskbar tooltip in Plasma 5.7.

REVIEW: 128418
FIXED-IN: 2.9

M  +2    -0    ChangeLog
M  +1    -5    src/dbus/mpris2/MediaPlayer2.cpp

http://commits.kde.org/amarok/9449ec56d1fd77a0bfa1f7134a2bf4f91ffd14d3