[back] [Abstract] [Copyright Notice] [Contents] [next]

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


5.1 Configuring the menus

A user can specify his/her 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

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

If a user wants to have his/her own menu methods, he/she should create a ~/.menu-methods directory and put all scripts he/she wants to be run 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/lib/menu/package, since these files will probably be overwritten by a package upgrade).


5.2 Specifying a ``no-menu entry''

If a user wants to remove an entry from the system menu (in /etc/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.


5.3 Include: (one) other feature

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 file /usr/lib/menu/somefile, add this to your menu file:

!include /usr/lib/menu/somefile
Apart form that, it is of course possible to make the menu entry file executable (chmod a+x ~/.menu/package), and do something like
#!/bin/sh
cat  /usr/lib/menu/somefile
sed -e  "/unwanted_entry/s/?package(/?package(notinstalled./" \
     /usr/lib/menu/someotherfile
to get the same effect, with the added flexibility of being able to filter out unwanted lines.


[back] [Abstract] [Copyright Notice] [Contents] [next]
Debian Menu System
version 1.3, 28 October 1999
Joost Witteveen joostje@debian.org
Joey Hess joey@kite.ml.org
Christian Schwarz schwarz@debian.org