Una cosa que no me gustó ni me gusta nada es que el programa alacarte no funciona en Gnome 3 (por lo menos a partir de Fedora 16). Conseguí salir del paso utilizando lxmed que es un programa escrito en java y su función principal es editar los menús de LXDE aunque sirve (con limitaciones) para el resto de escritorios.

Con lxmed pude editar algunos menús pero no lograba añadir los míos propios. Investigando un poco en la documentación de gnome  logré solucionar mi problema.

Editor de menus lxmed

El archivo donde se especifica la estructura del menú (la jerarquía) y la configuración de cada submenú se encuentra en /etc/xdg/menus/applications-gnome.menu siempre que la variable $XDG_CONFIG_DIRS no este iniciada, en cuyo caso sería $XDG_CONFIG_DIRS/menus/applications-gnome.menu. En esa ruta es donde añadiremos nuestro código para crear nuestro submenú.

Otro archivo que crearemos sera un archivo con la extensión .directory que deberemos guardar en /usr/share/desktop-directories y será un archivo que contendrá información sobre el submenú.

Por último tenemos los archivos .desktop guardados en /usr/share/applications/ que contienen la información de los accesos directos de los submenús.

Una vez que sabemos esto nos ponemos manos a la obra.

Primero editamos el archivo /etc/xdg/menus/applications-gnome.menu y le añadimos entre las etiquetas <Menu></Menu> principales nuestro submenú que será un código similar a este:

<!-- Submenú de ejemplo-->
<menu>MiMenu
 MiMenu.directory

 MenuPropio

 </menu>
 <!-- Fin de submenú -->

Ahora hay que crear el archivo que tiene la descripción sobre el menú y moverlo a /usr/share/desktop-directories, la extensión debe ser .directory y el contenido tiene que ser similar a este:

[Desktop Entry]
Name=Nombre del menu
Icon=ruta del icono
Type=Directory

Guardamos el archivo y para que el submenú aparezca tiene que existir algún archivo .desktop en /usr/share/applications/ que coincida la categoría del menú con la del submenú. Llegados a este punto podemos modificar un archivo .desktop ya existente e incluirlo en nuestro submenú o crear uno nuevo.  En el caso de editar un archivo ya existente la categoría que debemos poner para que aparezca en nuestro menú es la misma que definimos entre las etiquetas <Category></Category> del archivo applications-gnome.menu

Si creamos un archivo nuevo lo haremos con una estructura como esta:

[Desktop Entry]
Name=Nombre del acceso directo
Icon=ruta del icono del acceso directo
Exec=comando o ruta del script/programa
Terminal=false
Type=Application
Categories=nombre de la categoria;

Y en caso de modificar un archivo ya existente para añadirlo a nuestro submenú lo único que tendremos que hacer es añadir en la sección de Categories el nombre de nuestro submenú y poner un punto y coma al final.

Con esos tres pasos podemos crear nuestros propios menús. Ahora muestro cómo quedo mis tres archivos después de modificarlos para que se vea de una forma más clara lo explicado anteriormente. De color rojo se encuentra el texto que añadí a los archivos originales.

Archivo applications-gnome.menu modificado (añadidas lineas desde la 145 a la 154):

<menu>
 Applications
 X-GNOME-Menu-Applications.directory

 <!-- Scan legacy dirs first, as later items take priority -->

 /etc/X11/applnk
 /usr/share/gnome/apps

 <!-- Read standard .directory and .desktop file locations -->

 <!-- Read in overrides and child menus from applications-merged/ -->

 <!-- Accessories submenu -->
<menu>Accessories
 Utility.directory

 Utility
 <!-- Accessibility spec must have either the Utility or Settings
    category, and we display an accessibility submenu already for
    the ones that do not have Settings, so don't display accessibility
    applications here -->
 Accessibility
 System
 Hacking

 </menu>
 <!-- End Accessories -->

 <!-- Accessibility submenu -->
<menu>Universal Access
 Utility-Accessibility.directory

 Accessibility
 Settings

 </menu>
 <!-- End Accessibility -->

 <!-- Development Tools -->
<menu>Development
 Development.directory

 Development
 Hacking

 emacs.desktop
 </menu>
 <!-- End Development Tools -->

 <!-- Education -->
<menu>Education
 Education.directory

 Education

 </menu>
 <!-- End Education -->

 <!-- Games -->
<menu>Games
 Game.directory

 Game

 </menu>
 <!-- End Games -->

 <!-- Graphics -->
<menu>Graphics
 Graphics.directory

 Graphics

 </menu>
 <!-- End Graphics -->

 <!-- Internet -->
<menu>Internet
 Network.directory

 Network
 Hacking

 </menu>
 <!-- End Internet -->

 <!-- Multimedia -->
<menu>Multimedia
 AudioVideo.directory

 AudioVideo
 Guitar

 </menu>
 <!-- End Multimedia -->

 <!-- Office -->
<menu>Office
 Office.directory

 Office

 </menu>
 <!-- End Office -->

 <!-- System Tools -->
<menu>System
 System-Tools.directory

 System
 Settings
 Hacking

 </menu>
 <!-- End System Tools -->

 <!-- Guitar programs and tools -->
<menu>Guitarra
 Guitar.directory

 Guitar

 </menu>
 <!-- End Guitar Tools -->

 <!-- Submenú electronica-->
<menu>Electronica
 electronics.directory

 Electronics

 </menu>
 <!-- Fin de submenú -->

 <!-- Other -->
<menu>Other
 X-GNOME-Other.directory

 Core
 Screensaver
 X-GNOME-Settings-Panel
 Documentation
 <!-- <Not><Category>Hacking</Category></Not> -->

 </menu>
 <!-- End Other -->

 Other
 </menu>
<pre>
 <!-- End Applications -->

Archivo guitarra.directory hubicado en /usr/share/desktop-directories (este archivo lo escribí entero):

[Desktop Entry]
Name=Guitarra
Comment=Programas para la guitarra
Type=Directory

Archivo fedora-qjackctl.desktop modificado para que aparezca en mi submenú:

[Desktop Entry]
Name=QjackCtl
Version=1.0
GenericName=JACK Control
GenericName[de]=JACK-Steuerung
GenericName[fr]=Contrôle JACK
GenericName[it]=Interfaccia di controllo per JACK
GenericName[ru]=Управление JACK
Comment=QjackCtl is a JACK Audio Connection Kit Qt GUI Interface
Comment[de]=Grafisches Werkzeug zur Steuerung des JACK-Audio-Systems
Comment[fr]=QjackCtl est une interface graphique Qt pour le kit de connexion audio JACK
Comment[it]=QjackCtl è un'interfaccia di controllo per JACK basata su Qt
Comment[ru]=Программа для управления звуковым сервером JACK
Exec=/usr/bin/qjackctl
Icon=qjackctl
Categories=Audio;AudioVideo;Midi;X-Alsa;X-Jack;Qt;Guitar;
Terminal=false
Type=Application
X-SuSE-translate=true
X-Desktop-File-Install-Version=0.19

Con estos cambios ya tengo creado un menú llamado Guitarra el cual contiene los accesos directos de aplicaciones para la grabación de este instrumento en linux.

Resultado final

Esto que explico no es más que lo más básico para poder cambiar los menús sin muchas complicaciones pero lo mejor es echar un vistazo a la documentación y ver todas las posibilidades que hay a la hora de añadir campos a estos archivos.