Getting KDE to refresh menus

Pierre Ossman ossman at cendio.se
Fri Dec 16 07:17:05 GMT 2005


Aaron J. Seigo wrote:
> On Thursday 15 December 2005 01:46, Pierre Ossman wrote:
> 
>>I got a tip from Aaron Seigo (through Inge Wallin) which solves the
>>problem, but still indicates something funky with KDE or Fedora. If I
>>set the XDG_ environment variables, then everything works fine. It also
>>continues to work fine once I remove them.
> 
> 
> it will only continue to work fine until you install a new piece of software, 
> change your menu layout, or somehow otherwise invalidate the data in the 
> sycoca. at that point it will be regenerated and you'll be back to where you 
> started =)
> 

I guess it's persistent then because I restart KDE between these tests.

> 
>>Aaron said these were required by the XDG standard, but that isn't the
>>case so I'm starting so suspect that KDE makes some false assumptions
>>here. (I haven't gotten hold of Aaron yet to comment on this.)
> 
> 
> the only time you don't need those variables set is when everything is stored 
> within the installation prefix. if the XDG variables are set, the also 
> override that default IIRC. in any case, most distributions scatter the data 
> between /etc and $PREFIX and who knows where else. this is one of the 
> "features" of the new system but it makes it a lot more fragile, as can be 
> seen.
> 

The basedir spec says that /etc/xdg and /usr/local/share:/usr/share are 
the defaults, so it should work regardless of KDE's prefix.

> 
>>It does seem strange to me that KDE can find the directory, but not
>>monitor it, without the environment variables. All or nothing would seem
>>more reasonable. :)
> 
> 
> knowing how your system is set up a bit better would be useful (i'm sure 
> you've tolkd Inge and kde at kde.org, but i'm privy to neither email 
> addresses ;). in particular: what is you `kde-config --prefix`, where was 
> the .desktop file in question stored (full path), what does `set | grep XDG` 
> give you?
> 

$ kde-config --prefix
/usr
$ set | grep XDG
$

File is stored as /usr/share/applications/tlclient.desktop

> i looked at the code this morning as i promissed Inge i would. seems we set 
> watches only on the KStdDir dirs, and not the XDG ones as well unless those 
> env vars are set. which might cause the behaviour you are seeing. i'm going 
> to hunt down waldo and chat with him about it as this is his code.
> 

Great. :)

-- 
Pierre Ossman                Telephone: +46-13-21 46 00
Cendio AB                    Web: http://www.cendio.com
___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde mailing list