disabling KDE menu updating

James Richard Tyrer tyrerj at acm.org
Mon Sep 5 23:18:47 BST 2005


Paul Whalley wrote:
> I would like to learn how to accomplish both.

When you use the Menu Editor for a user account, you only make changes 
for that account.  These changes are stored in:

	$HOME/.config/menus/applications-kmenuedit.menu

These changes should not be overwritten by KDE even when you upgrade. 
However this might not always be true and there is no fix for this 
possible problem.

To make an entry invisible for a user account, you just open the Menu 
Editor and "Delete" it.  This doesn't actually delete anything but 
rather creates a file for that user account in:

	$HOME/.local/share/applications

indicating that the menu item should not be visible for that account.

The global menu structure is stored in:

	$KDEDIR/etc/xdg/menus

or

	/etc/xdg/menus

depending on your system.  To make permanent changes to the global menu, 
you must add a file to:

	.../xdg/menus/applications-merged

with the extension: 'menu'.  All that I have done is add stuff, for example:

misc.menu
------8<------8<------8<------8<------8<------8<------8<------8<------
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
   "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">

<Menu>
	<Menu>
		<Name>Miscellaneous</Name>
		<Directory>miscellaneous.directory</Directory>
		<Include>
			<Category>X-Misc</Category>
		</Include>
	</Menu>
</Menu>

------8<------8<------8<------8<------8<------8<------8<------8<------

This adds an entry: "Miscellaneous"

However, that is not sufficient since the KMenu is a VFS system, you 
must also have a file in:

	$KDEDIR/share/desktop-directories

miscellaneous.directory
------8<------8<------8<------8<------8<------8<------8<------8<------
[Desktop Entry]
Icon=package
Name=Miscellaneous

------8<------8<------8<------8<------8<------8<------8<------8<------

which is the file referenced in the entry and indicates the icon to use. 
  IIUC, you can also add i18n tagged "Name" entries here.

To make an item globally invisible, you need to find the 'desktop' file in:

	$KDEDIR/share/applications

and add:

	NoDisplay=true

to it.

KDE still supports the old menu entries which are in:

	$HOME/.kde/share/applnk
	$KDEDIR/share/applnk

Be careful that an item isn't listed in both the old and new systems. 
If you have strange problems, check that first.

-- 
JRT
___________________________________________________
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