How To add eXtraMenu from eXchange

WARNING: I use some very powerful (ie potentially destructive) tools as root. Please be careful! You have been warned!

While I'm at it, you're playing in the Big Leagues now, sort out your own root privileges.

Please note: If you are new to Linux or are not comfortable using the command line, tough, get over it, this is linux after all, and I use the command line. However the management at OzOs suggest some pictures of bunnies, a good (legal) calmative or perhaps a long bath with a few drops of lavender oil, if need be before you proceed.

So, you are like me and hate icons on your desktop (or maybe not) but you just do not like the default menu options, or would prefer some custom menus. Your in luck, there is a module on offer from eXchange called eXtraMenu.

Now before you can add such custom stuff like mine;

You need to download the source. (Link to Author's page)

So from a terminal issue the following;

Sid:~# svn checkout http://e17mods.googlecode.com/svn/trunk/MODULES/extramenu
Sid:~# cp -R extramenu /var/cache/e17_src/E-MODULES-EXTRA/

Now you have to build & install the extramenu module. You can use,

./configure
make
make install

Or the easy_e17 script. Regardless some things need to be kept in mind. If you build by hand, remember to set the proper path to install with "--prefix="what_ever. If using the easy_e17 script you must either rename your etc/easy_e17.conf file or edit it. You may also have to edit the easy_e17.sh file to include extramenu. The latter is what I did, I justed added extramenu to the end of the "include" line. Then run the easy_e17 script from a terminal;

Sid:~# easy_e17.sh -h --only=extramenu

No errors, good that was the easy part. Now is time to make a new menu. The instructions are in the README of the extramenu directory in your source tree. There you will find some sample files for getting started. Now just to hold your hand, do this from a terminal;

Sid:~# cd ~/.e/e/extra_menu
Sid:~/.e/e/extra_menu# touch mymenu.menu
Sid:~/.e/e/extra_menu# touch mymenu.directory

Using your favourite text editor copy & paste the following to mymenu.menu;

-------------------------------------------------------------------------------
FILE: mymenu.menu
-------------------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://standards.freedesktop.org/menu-spec/menu-1.0.dtd">
<Menu>
<Name>MyMenu</Name>
<DefaultAppDirs/>
<!--Uncomment this to search the .directory file in /usr/share/desktop-directory -->
<!--<DefaultDirectoryDirs/> -->
<!--Or use this to search the .directory file where the .menu reside -->
<DirectoryDir>./</DirectoryDir>
<Directory>mymenu.directory</Directory>
<Include>
<Filename>xterm.desktop</Filename>
<Filename>firefox.desktop</Filename>
<Filename>anjuta.desktop</Filename>
<Filename>edje_editor.desktop</Filename>
</Include>
</Menu>
-------------------------------------------------------------------------------

AND the following to mymenu.directory

-------------------------------------------------------------------------------
FILE: mymenu.directory
-------------------------------------------------------------------------------
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Icon=mymenu
#Icon=mymenu.png
#Icon=/full/path/mymenu.png
X-Enlightenment-Menu=main/0
Name=My Own Menu
Name[it]=Il mio menu
-------------------------------------------------------------------------------

Now load the eXtraMenu with;

Sid:~/.e/e/extra_menu# enlightenment_remote -module-load extramenu
Sid:~/.e/e/extra_menu# enlightenment_remote -module-enable extramenu

You now should have a menu entry at the top of your Main Menu called "My Own Menu", and there with in (depending on what is installed & your $PATH) an entry for xterm, firefox, anjuta and edje_editor.

As for making and setting up some menus like I have at the top of this page, well that's just going to have to be another HowTo:. How To Customize your eXtraMenu from eXchange

Credit goes to Aubrey, whom I openly plagiarized some stuff from, again.

Teague MacRoot