The Debian Menu System

The debian menu system is a great idea- but really needs updating. Here are some problems I have with it, and some proposed solutions. I hope to append URLs to mailing list discussion etc. as I find them.

The debian menu system sets the menu structure as policy - good idea. All net apps go under Apps -> Net, etc. Programs can provide ‘hints’, which let the menu system re-organise the menus if they get too long. (imagine how long net can be on an average system, if every net app is put there). So, for example, Videolan and the gnome xine client provide hints for ‘Video’, and are filed under Apps -> Viewers -> Video on my system.

However, hints are not controlled via policy. So, we have Apps -> Net -> KDE containing Knode, but also Apps -> Net -> News Reader containing Pan. slrn doesn’t have any such menu hint and is thus in the root ‘Net’ directory. If the hints were controlled via policy, this would be less chaotic.

Internationalisation- there is none, basically. It could be done for the core menu structure as they are policy-dictated, but again, hints are made up by package maintainers. Perhaps instead new hints should be requested by filing bugs against the menu system, or against policy?

User-specific menu preferences. Some settings can be changed in the file /etc/menu-methods/menu.h , including organisation (sort by capitalisation, ascii value, etc.). By copying this file to ~/.menu-methods/, users can have their own settings. BUT, creating this directory means /etc/menu-methods is not checked anymore, and the user must maintain a local copy of the contents in order to have entries on their menus. What would be better is if entries in this dir would override the system-wide ones on a per-entry basis.

Users can create their own menu entries inside ~/.menu. This works well - you can override existing entries, remove existing entries, and create new ones, including ones that are tied to the installation status of a package. The only drawback I know of is that you must manually run update-menus whenever a new entry is added system-wide (e.g. on package installation). I invisage a situation where the install scripts for menu prompt for a list of users to automatically update menus for when a global change is made, and to perform these operations as the super-user.

1 Response to “The Debian Menu System”


  1. 1 Jon Jan 5th, 2004 at 4:36 pm

    A small victory on the menu hints front-
    http://bugs.debian.org/223572 (thanks christian)

Leave a Reply