About the Applications menu files
By bishop on Monday, August 13 2007, 03:10 - Configuration - Permalink
About the Applications menu files
Enlightenment DR17 version 0.16.999.040

Vulcan Retro (E Theme) by Ndjee
About the menu files
A "Cheat Sheet" for the E17 implementation of the desktop menu spec. Might help some folks setup their machine to use the new efreet code. Efreet utilizes your .menu files, .desktop files, and has an impact on your border icons. The samples below are intentionally simplistic. Much more can be accomplished.
Enlightenment handles the menus the same way as gnome or kde, that means, a full compliance with the FDO specs. In order to have menus, you have to use a .menu file. The enlightenment-data package provides an exemple file in /etc/xdg/menus/enlightenment-applications.menu.
If you want to use it, copy it to $HOME/.config/menus/applications.menu, or symlink it. You can also renames it to /etc/xdg/menus/applications.menu if this file does not exist yet.
Please see E17 and Efreet for further information.
1. Solution suggested on E17 and Efreet
If you want Ubuntu to generate a menu for you, you first need these packages installed : menu, menu-xdg and xdg-utils.
sudo aptitude install menu menu-xdg xdg-utils
If you have those three packages installed, then a menu file (/etc/xdg/menus/debian-menu.menu) will be generated. For this file to be used by Enlightenment you must create a symlink to it at /etc/xdg/menus/applications.menu:
sudo ln -s /etc/xdg/menus/debian-menu.menu /etc/xdg/menus/applications.menu
After you have done this the menu should appear correctly no restart should be necessary.
Alternatively you can set XDG_MENU_PREFIX="debian-" in the environment that e17 is run in.
2. My solution
To install packages menu menu-xdg xdg-utils:
sudo aptitude install menu menu-xdg xdg-utils
If this file exists to safeguard $HOME/.config/menus/applications.menu. Open a terminal
Applications/Accessories/Terminal for GNOME users,
KMenu/System/Konsole for KDE users and type:
mv ~/.config/menus/applications.menu ~/.config/menus/applications.menu.backup
Do not use sudo for the following command .
a. Copy /etc/xdg/menus/applications.menu in the file $HOME/.config/menus/:
cp /etc/xdg/menus/applications.menu ~/.config/menus/
b. Copy /etc/xdg/menus/enlightenment-applications.menu in the file $HOME/.config/menus/:
cp /etc/xdg/menus/enlightenment-applications.menu ~/.config/menus/
c. To include the menu Debian, copy /etc/xdg/menus/debian-menu.menue in the file $HOME/.config/menus/:
cp /etc/xdg/menus/debian-menu.menu ~/.config/menus/
Enjoy!
Example : my applications.menu file.
<!DOCTYPE Menu
PUBLIC '-//freedesktop//DTD Menu 1.0//EN'
'http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd'>
<Menu>
<Name>Applications</Name>
<Directory>Applications.directory</Directory>
<!-- Scan legacy dirs first, as later items take priority -->
<LegacyDir>/etc/X11/applnk</LegacyDir>
<LegacyDir>/usr/share/gnome/apps</LegacyDir>
<LegacyDir>/usr/share/control-center-2.0/capplets</LegacyDir>
<!-- Read standard .directory and .desktop file locations -->
<DefaultAppDirs/>
<DefaultDirectoryDirs/>
<!-- Read in overrides and child menus from applications-merged/ -->
<DefaultMergeDirs/>
<!-- Accessories submenu -->
<Menu>
<Name>Accessories</Name>
<Directory>Accessories.directory</Directory>
<Include>
<And>
<Category>Utility</Category>
<Not>
<Category>System</Category>
</Not>
</And>
</Include>
</Menu>
<!-- End Accessories -->
<!-- Accessibility submenu -->
<Menu>
<Name>Accessibility</Name>
<Directory>Accessibility.directory</Directory>
<Include>
<And>
<Category>Accessibility</Category>
<Not>
<Category>Settings</Category>
</Not>
</And>
</Include>
</Menu>
<!-- End Accessibility -->
<!-- Development Tools -->
<Menu>
<Name>Development</Name>
<Directory>Development.directory</Directory>
<Include>
<And>
<Category>Development</Category>
</And>
<Filename>emacs.desktop</Filename>
</Include>
</Menu>
<!-- End Development Tools -->
<!-- Education -->
<Menu>
<Name>Education</Name>
<Directory>Education.directory</Directory>
<Include>
<And>
<Category>Education</Category>
</And>
</Include>
</Menu>
<!-- End Education -->
<!-- Games -->
<Menu>
<Name>Games</Name>
<Directory>Games.directory</Directory>
<Include>
<And>
<Category>Game</Category>
</And>
</Include>
</Menu>
<!-- End Games -->
<!-- Graphics -->
<Menu>
<Name>Graphics</Name>
<Directory>Graphics.directory</Directory>
<Include>
<And>
<Category>Graphics</Category>
</And>
</Include>
</Menu>
<!-- End Graphics -->
<!-- Internet -->
<Menu>
<Name>Internet</Name>
<Directory>Internet.directory</Directory>
<Include>
<And>
<Category>Network</Category>
</And>
</Include>
</Menu>
<!-- End Internet -->
<!-- Multimedia -->
<Menu>
<Name>Multimedia</Name>
<Directory>Multimedia.directory</Directory>
<Include>
<And>
<Category>AudioVideo</Category>
</And>
</Include>
</Menu>
<!-- End Multimedia -->
<!-- Office -->
<Menu>
<Name>Office</Name>
<Directory>Office.directory</Directory>
<Include>
<And>
<Category>Office</Category>
</And>
</Include>
</Menu>
<!-- End Office -->
<!-- System Tools-->
<Menu>
<Name>System</Name>
<Directory>System-Tools.directory</Directory>
<Include>
<And>
<Category>System</Category>
<Not>
<Category>Settings</Category>
</Not>
</And>
</Include>
</Menu>
<!-- End System Tools -->
<!-- Other -->
<Menu>
<Name>Other</Name>
<Directory>Other.directory</Directory>
<OnlyUnallocated/>
<Include>
<And>
<Category>Application</Category>
<Not>
<Category>Core</Category>
</Not>
<Not>
<Category>Settings</Category>
</Not>
</And>
</Include>
</Menu>
<!-- End Other -->
<!-- The Debian menu -->
<Menu>
<Name>Debian</Name>
<MergeFile>debian-menu.menu</MergeFile>
<Directory>Debian.directory</Directory>
</Menu>
<Include>
<Filename>gnome-app-install.desktop</Filename>
</Include>
<!-- Separator between menus and gnome-app-install -->
<Layout>
<Merge type="menus"/>
<Merge type="files"/>
<Separator/>
<Filename>gnome-app-install.desktop</Filename>
</Layout>
</Menu>
<!-- End Applications -->
Comments