click hook generated .application file has wrong desktop-entry value
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Savilerow project |
Confirmed
|
Undecided
|
Unassigned | ||
ubuntu-system-settings-online-accounts (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
For a scope click pkg, when using the simplest .application file as recommended on [1] like this:
<application>
<services>
<service id="com.
<
</service>
</services>
</application>
The installed version includes an incorrect desktop-entry field. Incorrect because it includes the pkg version [2], but the actual .desktop file name does not include it. The result is Settings cannot find the .desktop file, so it cannot display the icon or the name for the account as defined in the .application file.
The workaround is to add a desktop-entry xml element that contains the scope's fully qualified name (PKG_APP) in the source .application file. When present, the click hook apparently uses this when writing the generated version to the device [3]. Since it does not include the VERSION, it points to the actual installed desktop file, thus Settings can display the icon and name correctly as originally defined in the .application file.
[1]
https:/
[2] incorrect generated desktop-entry example:
<desktop-
[3] correct entry using workaround:
<desktop-
Changed in savilerow: | |
status: | New → Confirmed |
description: | updated |
Unfortunately I don't think there's much we can do about it. The problem is that the hooks which create the desktop files for click applications and scopes behave differently: the one for applications appends the version number, the one for scopes doesn't.
The ideal solution would be to modify the scopes hook so that it generates the desktop files with the version number. Until that is done, I'm afraid the only solution is to explicitly specify the <desktop-entry> element in the .application file -- I've also filed bug 1541717 because this possibility is actually missing in the new hook configuration for online accounts, and obviously it needs to be added.