Actually, doing: ls /usr/share/applications > menu-programs
would probably be the most compact method and closest to your original stated goal. Not every .desktop file in that directory will show an entry in your applications menu, but every item that is in your menu (save for a very few, like wine installed winodows apps) will have an entry there.
And, obviously, the names of the .desktop files don't directly translate to the name of the rpm package, but usually close enough for you to figure it out.
fedora-timidity.desktop = rpm package timidity++, as an example.
Last edited by PabloTwo; 7th May 2009 at 08:42 PM.