Comment 6 for bug 993800

Revision history for this message
Sami Jaktholm (sjakthol) wrote :

The problem is that Ubuntu Tweak only looks into /usr/share/applications/ to find a desktop file matching the one read from settings. However things aren't that simple. Unity looks the desktop files from two different places: ~/.local/share/applications/ and /usr/share/applications/. If Unity finds a matching desktop file from the local folder, it uses it. If not, it goes to the global folder to find the desktop file.

Here's a breakdown of the problem
1. Quicklist of an application is edited for the first time
 1.1. Desktop File is copied to local directory (from /usr/share/applications/ to ~/.local/share/applications/)
 1.2. The GSettings key "com.canonical.Unity.Launcher" is changed from relative name of the desktop file to an absolute path to the local desktop file (from appname.desktop to /home/user/.local/share/applications/appname.desktop)
2. Unity Restart
 2.1. Unity changes the absolute path in the settings back to generic desktop file name because the absolute path is not needed by Unity
3. Ubuntu Tweak is started and it looks the desktop file from /usr/share/applications/ (because the path is no longer absolute)
 3.1. It finds the one which hasn't been changed as the modified version is in ~/.local/share/applications

Making Ubuntu Tweak look files from .local/share/applications/ before going to /usr/share/applications/ should fix this bug.