e16/docs/README-0.16.8

260 lines
9.7 KiB
Groff

About 0.16.8
============
Changes:
- "enlightenment" has been renamed to "e16".
- The default user configuration directory is "~/.e16".
- The data install path is "<somepath>/e16", e.g. "/usr/share/e16".
Thus, an e16.8 installation should not clash with any other versions.
- Various configuration file formats have changed and should be easier
to read and modify, if needed.
- The configuration is stored per display and per screen. E.g. for
DISPLAY=:1.0 the main configuration file is "~/.e16/e_config--1.0.cfg".
- Actions(used by menus, keybindings, etc.) and IPC functions(eesh) have
been merged.
- Many IPC(eesh) commands have been changed, possibly breaking compatibility
with a few epplets.
- Window matches and icondefs have been merged (into matches.cfg), see below.
New features:
- Built-in composite manager.
- An iconbox can be configured to act as System Tray
(middle mouse->Desktop->Create Systray).
- Possibility to run programs on startup, restart, and shutdown, see
"Session Scripts" below.
- Possibility to track changes in remembered settings.
- Window operations by window matches (class, name, transient, ...),
e.g. for making all windows of a certain type sticky, put it on a certain
layer, etc. (see matches.cfg).
Notes:
NB!!! imlib2 >= 1.2.0 is required.
All settings can be shown and set using eesh.
To get a full list of settings:
$ eesh show
To set some parameter:
$ eesh set <parameter> <value>
Some settings will not be effective until E is restarted.
To get a list of all eesh commands:
$ eesh help full
If window resize/shading with composite enabled is ugly, try:
$ eesh set compmgr.resize_fix_enable 1
0.16.8 should be compatible with most e16 themes. However, user installed
themes will have to be moved/linked to ~/.e16/themes/ or <datadir>/e16/themes/.
A few themes will have to be tweaked to work with e16.8. The most likely problem
is that configuration settings or menu definitions are included in .cfg files
where they are no longer accepted.
e16keyedit will work, but the "Action" field is no longer used. In stead, the
action (IPC command) must be specified in the "Parameters" field.
If used to change the keybindings, the modified settings will be stored in
~/.e16/e_config.bindings.
It should also be fairly straightforward to modify the key- and buttonbindings
by editing /usr/share/e16/config/bindings.cfg.
e16menuedit will no longer work. e16menuedit2 will.
NB!!! Do not rename ~/.enlightenment to ~/.e16. It will only cause trouble.
Configuration files
-------------------
Skip this section unless you *really* want to know...
It is here assumed that --prefix is /usr, and that the default user
configuration directory (~/.e16) is used.
Localization is ignored for simplicity.
In general, the configuration search order for theme related configuration
files, say xyz.cfg, is:
1) User configuration directory, i.e. ~/.e16/xyz.cfg.
2) Theme directory, i.e. /usr/share/e16/themes/<theme>/xyz.cfg, or
~/.e16/themes/<theme>/xyz.cfg.
3) Default configuration directory, i.e. /usr/share/e16/config/xyz.cfg.
Mouse and keybindings are defined in bindings.cfg, and optionally in
~/.e16/e_config.bindings. The latter may be generated as a result of using
e16keyedit.
bindings.cfg is loaded first, and searched in
1) User configuration directory, i.e. ~/.e16/bindings.cfg.
2) Default configuration directory, i.e. /usr/share/e16/config/bindings.cfg.
~/.e16/e_config.bindings is loaded next, and will override settings
defined in bindings.cfg.
Window matches (border and icon associations) are defined in windowmatches.cfg
and matches.cfg.
windowmatches.cfg (deprecated, border associations only) is loaded first,
and should be found only in theme directories.
matches.cfg is loaded next, and searched in
1) User configuration directory, i.e. ~/.e16/matches.cfg.
2) Default configuration directory, i.e. /usr/share/e16/config/matches.cfg.
Window match items are appended to the window match list, in the order
in which they are read from the configuration files.
When doing border/icon matches, the window match list is searched from the
start, and the first matching item will be used.
Using e16 with GNOME
--------------------
(Using Fedora Core 4, may be pertinent to other distributions as well).
The GNOME desktop can be started using e16 as WM with:
$ export WINDOW_MANAGER=e16
$ gnome-sesssion
Alternatively, add a GNOME/e16 session entry to the display manager login:
# cp /usr/share/e16/misc/e-gnome.desktop /usr/share/xsessions/
However, somewhere along the way the script /usr/bin/gnome-wm is called.
This is supposed to handle differences in all the different WM's out there,
but does not know of "e16". This will cause a major delay when starting up
the GNOME desktop.
One way to fix this is to use gnome-session-properties to get rid of
the "gnome-wm" session entry.
Another is to apply this patch to /usr/bin/gnome-wm:
--- /usr/bin/gnome-wm-org 2005-04-19 21:33:53.000000000 +0200
+++ /usr/bin/gnome-wm 2005-11-15 20:46:09.000000000 +0100
@@ -69,7 +69,7 @@
OPT2=
if [ ! -z "$SMID" ] ; then
case `basename $WINDOW_MANAGER` in
- sawfish|sawmill|metacity)
+ sawfish|sawmill|metacity|e16)
OPT1=--sm-client-id=$SMID
;;
openbox)
Using e16 with KDE
------------------
(Using Fedora Core 4, may work with other distributions as well).
The KDE desktop can be started using e16 as WM with:
$ export KDEWM=e16
$ startkde
Alternatively, add a KDE/e16 session entry to the display manager login:
# cp /usr/share/e16/misc/e-kde.desktop /usr/share/xsessions/
Migrating from Enlightenment 0.16.7 to 0.16.8
---------------------------------------------
By Peter Hyman (pete4abw@comcast.net)
Users upgrading from enlightenment 0.16.7 need to read the following.
Several organizational changes have occurred that will require
some manual adjustments. Mainly these deal with changes to
configuration and shared directory names. This was done to avoid
collisions with the new enlightenment DR17.
1) home configuration directory is now ~/.e16, not ~/.enlightenment.
2) menu files have been moved to a subdirectory called menus
you will need to move customized menus and subdirectories to
~/.e16/menus. Note: because of this menu files will have to have
menus/ prepended to it in order to be located. Ex:
file.menu file...
"User Menus"
"User Application list" NULL menu "menus/user_apps.menu"
whereas the old menu version did not have menus/.
3) you will need to move ~/.enlightenment/backgrounds files to ~/.e16
and any themes as well.
4) $prefix/share/enlightenment has been changed to $prefix/share/e16
5) if installed E-docs and Epplet directories will have to be moved
to $prefix/share/e16
6) any additional themes that were added to the $prefix/share/enlightenment
directory will have to be moved to $prefix/share/e16
7) any startup scripts or Session scripts that reference the startup
executable `enlightenment` must be edited to the new e16 program.
Session Scripts
---------------
By Peter Hyman (pete4abw@comcast.net)
November 2005
Enlightenment can now automatically run user scripts or applications during
Startup, Restart, and Shutdown. This facilitates the loading of system
tray applets, rss readers, screensavers, and other daemons (e.g. dbus),
and allows for cleanup of programs that don't terminate properly when E
quits (this is especially common with KDE applications in E and the arts
daemon or dcop server keeps running).
Enlightenment accomplishes this with the addition of two new keys in
the $ECONFDIR/e_config--#.#.cfg (#.# may vary depending on your X setup --
for most people, it will be 0.0). These are:
misc.session.enable_script
misc.session.script
misc.session.enable_script is a boolean. When set to 1, Enlightenment will
execute the script in the misc.session.script key. By default, this feature
is disabled. When enabled, it will do nothing until the user configures
his/her home directory ($ECONFDIR -- normally ~/.e16).
The default session.script is located in $EROOT/scripts/session.sh ($EROOT
is normally /usr/share/e16 or /usr/local/share/e16). It will look for
directories in the user's $ECONFDIR/ (~/.e16/) called:
~/.e16/ ($ECONFDIR)
Init/
Start/
Stop/
and run any and/or all scripts or executables in each when E starts,
restarts, and shuts down. If no scripts or executables are present, or
if any of the directories Init, Start, and Stop do not exist, NOTHING
will happen and E will start up as usual. So, in order to use session
scripts, all the user has to do is to populate the Init, Start, and Stop
directories with scripts, applications, or links to applications that
should run during Startup, Restart, or when E is stopped.
The default values for the new keys are:
misc.session.enable_script = 0
misc.session.script = $EROOT/scripts/session.sh
The user may write a custom script and place it anywhere. Simply modify
the config file by using:
$ eesh set misc.session.script myscript
and modify it (be sure to chmod +x the file otherwise it won't run).
The session script is called with one of three command parameters;
init, start, and stop. Any custom script should have a code block
similar to this in order to function properly in Enlightenment.
case "$1" in
init)
# do blah
# or do function init
start)
# do blah
# of do function start
stop)
# do blah
# or do function stop
esac
Automatic script running can be enabled/disabled via the Session Settings
dialog in Enlightenment and checking/unchecking the option Enable Session
Script, by editing the user cfg file and setting the
misc.session.enable_script key to 1/0, or with
$ eesh set misc.session.enable_script 1/0
This process is very flexible since when used, the user can turn off
individual scripts and applications by chmod -x or simply leave the
startup directories empty or remove them.