I was in the same situation as pcampbell87 and thought I'd post my work as well, since most information I could find was usually outdated. Keep in mind the date on this post too
and check the relevant links below to see if anything has changed. I'll refer to Enlightenment DR17 as E17 since it's shorter.
A pet package is an easy sure-thing solution. The downside is that it would slowly become outdated and it would need additional configuration to suit the user. There are some scripts for installing or updating E17 and one could be modified for puppy, but the script itself would need to be updated over time. Also, dependencies and configuration changes would have to be settled. So I'll list the manual approach.
I used the compile arguments listed on
puppy's compile page in combination with
E17's user guide installation instructions. I recommend checking E17's download page for what order to install packages in instead of the user guide. The download page seemed to be updated more often, and at the time of this post, it included an extra package(eeze).
Attention: E17 is in active development and is "technically" not officially released yet, so the current build could have bugs or other issues.
Installing E17 from SVN for Lucid Puppy 5.25:
1. Make sure
lupu_devx_525.sfs is loaded.
2. At least the edje package requires a header file included in the liblua-dev package. This can be installed with the puppy package manager, but make sure you DON"T TRIM THE FAT or the header files won't be installed. Install the two dependencies(liblua,readline-dev) for liblua-dev.
3. Make a directory for E17 source files.
4. Download e17 source files.
Code: Select all
svn co http://svn.enlightenment.org/svn/e/trunk/eina eina-svn
svn co http://svn.enlightenment.org/svn/e/trunk/eet eet-svn
svn co http://svn.enlightenment.org/svn/e/trunk/evas evas-svn
svn co http://svn.enlightenment.org/svn/e/trunk/ecore ecore-svn
svn co http://svn.enlightenment.org/svn/e/trunk/embryo embryo-svn
svn co http://svn.enlightenment.org/svn/e/trunk/edje edje-svn
svn co http://svn.enlightenment.org/svn/e/trunk/efreet efreet-svn
svn co http://svn.enlightenment.org/svn/e/trunk/e_dbus e_dbus-svn
svn co http://svn.enlightenment.org/svn/e/trunk/eeze eeze-svn
svn co http://svn.enlightenment.org/svn/e/trunk/e e17-svn
5. Install each package in the same order they were downloaded in.
Code: Select all
cd ~/e17/eina-svn
./autogen.sh CFLAGS="-mtune=generic -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" --prefix="/usr" --sysconfdir="/etc" --localstatedir="/var" --host="i486-pc-linux-gnu"
make
make install
Repeat this for each package.
Notes: I got some complaints that -02 was an unrecognized option but it still compiled ok. ./autogen.sh makes a configure file and passes it's arguments to it, so if you do './autogen.sh --help', it shows './configure --help'. Maybe different compile options and less packages can make it 'lighter' for pup.
6. Before starting E17, it might be easier to configure some things first(read the section below). Once you are ready to start E17, log out of your current window manager and type 'xwin enlightenment_start' (or 'xwin enlightenment' if you configured .xinitrc the way I mentioned below). On the first run, a menu(in /etx/xdg/menus) and some quick-launch apps can be picked. I could only pick System Default or English for the language. Picking English caused setlocale errors in the terminal. All of these settings can be changed later in the settings anyway. I think the
E17 user guide(though a little outdated) is the best resource for learning how to use E17. The e17 directory you created can be deleted to free up some space. The liblua package is required for E17 to run. The liblua-dev and readline-dev packages can be removed, but you might want to keep them for installing a newer E17 later. And they may be needed for installing some extra modules.
Configuring:
Enable Shutdown and Restart:
Puppy has it's own scripts for shutdown and restart, so E17 needs to be configured for these.
Edit /etc/enlightenment/sysactions.conf and replace '/sbin/shutdown -h now' with '/usr/bin/wmpoweroff' and replace '/sbin/shutdown -r now' with /usr/bin/wmreboot
E17 is officially started with 'enlightenment_start' but Puppy must use 'xwin enlightenment' for wmpoweroff(and other stuff) to work. This is because the name used by xwin is used by wmpoweroff to shut down E17's process, which is named 'enlightenment', without the '_start'. So it's up to .xinitrc to start it the right way.
Edit /root/.xinitrc (
Attention: A type-o in this file could prevent all window managers from starting, so back it up beforehand or copy a 'clean' one from a pup_ro folder(usually pup_ro2) in /initrd if it failed.) Note: Spaces and caps matter so pay close attention to them.
Near the bottom of the file, find where it says: #exec $CURRENTWM
On the line above that, add the following:
Code: Select all
if [ "$CURRENTWM" = "enlightenment" ];then
CURRENTWM="enlightenment_start"
fi
Disable fbpanel and ROX Pinboard: (having previously completed the section on shutdown/restart)
In /root/.xinitrc, find where it says: #if jwm, icewm, openbox or fluxbox then we run rox-desktop
On the line below that(Again, check for spaces) add: '&& "$CURRENTWM" != "enlightenment" '
Then find: #only launch tray for w.m. without inbuilt tray...
And do the same with the line under that one.
fbpanel seems to work ok with E17, so it can still be used if preferred Though E17's default shelf can be configured to have the same functionality as fbpanel. I couldn't get the ROX Pinboard to show over E17's desktop. It does at first but once you click the mouse it gets covered. In an older
thread, rarsa suggested loading the pinboard after E17 has initialized but I couldn't get it to work.
Desktop icons:
You can use shelves or EFM(E17's file manager) for your desktop icons. The ROX Pinboard icon data stored in /root/Choices/ROX-Filer can be useful for setting up icons manually for E17.
Shelves: You can use one or multiple shelves-with-ibars for holding any number of icons, but there is a limit to the location and number of shelves. More flexibility can come from using multiple desktops, each having their own shelves.
EFM: With EFM activated, there should already be some basic icons on the desktop(home, root, temp). You will find relative links to these .desktop files in /root/Desktop. So to add an icon, you could just make a link in this folder from a .desktop file in /usr/share/applications, or just copy a file from that folder and change it's contents. EFM has a setting to show device icons but it doesn't work with puppy. /sbin/pup_event_frontend_d makes entries for ROX Pinboard. Might be able to add something to this script to make/delete .desktop files for EFM?
Application Menu:
Enlightenment follows the
xdg menu standard. Puppy already had some category menu files in /etc/xdg/menus so I put all of them into one menu file(Download below), and it should be placed in the same directory. I changed some inline limits and I removed some entries I thought unnecessary for E17. The menu can be chosen on the first run, and also at any time in E17's settings: Main Menu - Settings - Settings Panel - Menu - Menu Settings - Advanced - Applications - Select a menu - Apply - Open another main menu - enlightenment - restart - try it out. I think 'enlightenment - restart' will only restart the window manager, not X or the computer. This should be done when selecting a different menu file but does not need to be done when making changes to the current file in use. For more information and an example menu:
Old E wiki(may be moved soon)
Extra modules/apps:
Just about all of the modules/apps can be downloaded and installed in the same way as E17. A lot of the modules/apps are useless, broken, outdated, or under development. More information and screenshots can be found on the other links listed below, but most point their download links to the
svn. In the E_MODULES_EXTRA part of the svn, there should be a README that lists descriptions for most of those modules. You could also try to browse each module's folder. Sometimes a description is listed on the screen or in a README file. Check comments and reviews for modules on the sites below to get more up-to-date information and help.
Exchange (Themes, applications, modules)
OpenDesktop.org (Themes, applications, modules)
Also try a google code search for e17, enlightenment.
Places, Penguins, others
Itask, Itask-NG, Winlist NG
Detour theme
ETK(toolkit) and EWL(widget library) are mentioned in some places. I found something that said both of those are no longer maintained and they have been replaced by Elementary.
Most theme types(full theme, startup theme, .edj files) can be placed in ~/.e/e/themes.
Engage: seems to be a combination of the ibox(holds minimized apps) and ibar(quick launch). It is similar to the Mac OS X dockbar.
Itask-NG: on code.google says it was based of the good old Engage but the readme on the svn says to use Engage instead. I went with Engage.
Places: is a module for mounting/unmounting devices. This doesn't work with puppy out of the box.
(
cpu,mem,..)Several statistical modules work well when configured, though they may be replaced in the near future.
(
flame,rain,snow,penguins): Some eye candy mods that work but are otherwise a waste of resources.
Some extra modules add features to some modules already in E17:
Everything: Is an alternative launcher.
EFM: Extra modules help with navigation. After downloading and installing, go to EFM's configuration in E17's settings and have it show the toolbar, then add the new mods to the toolbar when using EFM. I haven't used ROX or EFM extensively, but I'm guessing ROX is much better. It definitely loads a directory list faster, though I'm more used to EFM's cut and past.