State of the Menu System
Posted Jul 7, 2005 13:56 UTC (Thu) by bkw1a
Parent article: First Look at Knoppix 4.0
the standard Debian menus tend to be badly cluttered and poorly organized; as an example, the "Internet" submenu contains a total of 76 items, while the "System" submenu contains 88 items!
This is a problem that plagues every current Linux distribution I've looked at. It seems to me that there's a basic problem somewhere in the menu-generating philosophy now being used by KDE and Gnome.
In the "good old days" the menu was built up from *.desktop and *.directory files stored in a tree under /etc/X11/applnk (or someplace similar). Rearranging menu items was as simple as moving files and creating new categories required only creating new directories. (NB. The current menu
system claims to still support this "legacy" system, but I've was never been able to make it work reliably.)
In the current scheme, *.desktop files specify their category internally, and the menu tree is built up dynamically as these files are read at login time. In principle, this makes things easier for system administrators by assigning the task of menu organization to software developers and packagers. When a sysadmin installs or uninstalls an rpm, the menu should just be automatically updated appropriately, with no thought required.
In practice, this fails because developers typically don't put much thought into which category their program belongs in (most end up in something like "internet"). This problem is compounded by the new complexity of the menu system, which makes it hard for system administrators to rearrange the menus in a better way and, once rearranged, keep them sorted out as new
and upgraded rpms are installed.
It seems like a really useful community project would be to develop an
application menu registry and a standard application menu. The process
would go something like this:
Say you're a gimp developer. You submit a request to the menu
registry group, saying you've got this graphics program that manipulates
raster graphics. You say you'd like to put it into the "internet"
category of the menu. The registry group e-mails you back and says,
sorry, but this program isn't really appropriate for the "internet"
category. How about the "Graphics/Raster" category instead? OK, you
say. So the menu registry web site is updated, and your application
is now officially assigned to the "Graphics/Raster" category.
You create an appropriate *.desktop file in the rpm for your program,
and distribute it.
Having the registry available on a web site would allow automated
checks to see if your application menus were in compliance with the
Is anybody working on such a project now? I'd really like to
see something like this.
to post comments)