[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ next ]

Debian Menu System
Chapter 6 - How a user can override the menus

6.1 Configuring the menus

Users can specify their own menu entries in the ~/.menu directory. The files can have an arbitrary file name as long as the new syntax for the menu entries is used. They should start with either




if it's something that isn't ``debian-officially'' installed. (Any ``package'' that starts with ``local.'' is considered installed.)

If users want to have their own menu methods, they should create a ~/.menu-methods directory and put all their menu methods in it. (If ~/.menu-methods exists, /etc/menu-methods will not be searched when a user runs update-menus).

A system administrator should place system-wide menu entries in /etc/menu (not in /usr/share/menu/package, since these files will probably be overwritten by a package upgrade).

6.2 Specifying that a menu entry should not be displayed

If a user wants to remove the entries of package from the system menu then this will do the trick:

       echo -n  > ~/.menu/package

The zero-size file will tell update-menus that the corresponding package should not have any menu entries listed. A system administrator can remove menu entries system-wide with

       echo -n  > /etc/menu/package

6.3 Including other files

Historical comment by Joost:

More out of curiosity than anything else, I recently read the KDE mailing list. In it I saw some discussion about how good the Debian menu system is (whow, thanks, guys!), but one person found a missing feature: s/he said you couldn't include other files in the user menu files. Well, actually, it was already possible, but not very well documented.

To include the contents of the file /usr/share/menu/somefile, add this to your menu file:

     !include /usr/share/menu/somefile

Apart from that, it is of course possible to make the menu entry file executable (chmod a+x ~/.menu/package), and do something like

     cat  /usr/share/menu/somefile
     sed -e  "/unwanted_entry/s/?package(/?package(notinstalled./" \

to get the same effect, with the added flexibility of being able to filter out unwanted lines.

[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ next ]

Debian Menu System

version 1.4, 31 May 2015

Joost Witteveen mailto:joostje@debian.org
Joey Hess mailto:joeyh@debian.org
Christian Schwarz mailto:schwarz@debian.org
Bill Allombert mailto:ballombe@debian.org