obamenu (New version 1.1.7) is a free open source utility that automagically creates menus for openbox, an X window manager.
Here is a screen shot of how such a menu may look like
openbox does have built-in menu capabilities. Unfortunately, though, those menus must be created manually in openbox's menu.xml config file. While some users (and potential users!) find this generally cumbersome it is also unwieldy when installing new applications.
That's where obamenu enters the scene. obamenu automagically creates complete openbox menus based on looking at, analyzing, and working on xdg information provided by most applications. Being badass fast obamenu can be included as a dynamic item in menu.xml (example is in the docu) providing the user with an always up to date menu. In case you install a new application, simply have obox restart (which takes ~ 1 second) to find the new application right away in the manu.
While efforts were undertaken to keep obamenu small, resource friendly and fast (i.e. in line with the philosophy of small windows manager) it is actually quite capable and knows some tricks such as associating the proper icons with a menu entry.
Of course, obamenu does not interfere with any "hard wired" menu entries you might have made but rather complements them and nicely fits in, either in the root menu or in some sub menu like "Applications".
You can download the program along with some text documentation here .
obamenu is written in standard Python, should run with any Python > 2.5 standard installation and needs no extras or dependencies.
Hint: As most of the action is actually not about creating menus, obamenu is easily adaptable to other wms, too, particularly those using some kind of xml or other structured notation for their menus (like openbox).
Note: There exists (at least) one other menu generator for openbox, namely "openbox-menu" which, however, doesn't compile on FreeBSD.