xdg-desktop-menu doesn't update gnome-panel on clean installs...
Submitted by Ryan C. Gordon
Assigned to Portland Bugs
Description
(There is no 1.0.2 selection in the version field, but this is with 1.0.2.)
This is a little vague, since I'm not sure where the specific issue is.
Sometimes you will install a desktop menu item with xdg-desktop-menu and it won't show up in the Gnome panel's Applications menu. It seems like there is some state that xdg-utils is setting up correctly, but Gnome doesn't notice.
Reproduction steps:
- Get an install of Ubuntu 7.10 x86, patched to the latest versions.
- Create a new user with System->Administration->Users and Groups. I named the new login "test" ...
- Log in as "test" so you're at a new, unmolested Gnome desktop.
- Install a menu item and icon with "xdg-desktop-menu install" into, say, the "Games" directory.
- Click Applications->Games, notice that the new icon isn't there.
- From the Terminal app, run "killall -HUP gnome-panel" and see the panel flicker for a moment as it restarts.
- Click Applications->Games, notice that the new icon has finally shown up.
- Uninstall the menu item, notice it goes away immediately.
- Notice that the initial behaviour of the icon not appearing immediately after the install command is no longer reproducible...it shows up right away on further attempts on this user's account.
My educated guess is that gnome-panel is watching some directory with inotify to decide when to add new items to the menu, but if that directory doesn't exist when gnome-panel starts, it doesn't have the watch in place, so you won't get changes until the process restarts with the directory already in place. The install attempt from xdg-desktop-menu creates the directory.
I guess what I'm asking here: is there some way that xdg-desktop-menu can realize that the crucial element is missing, and force a -HUP on gnome-panel after install in just that case? I'm not sure exactly WHAT the crucial element is, though: ~/.gnome/apps, perhaps.
(I haven't tried this on other distros, versions of Gnome, KDE, or XFCE.)
--ryan.