<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About Enlightenment e16</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><meta name="description" content="Coming soon. (maybe)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="index"></a>About Enlightenment e16</h2></div><div><p class="pubdate">Jul 18, 2009</p></div><div><div class="abstract"><p class="title"><b>Abstract</b></p><p> Coming soon. (maybe) </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#credits">Credits</a></span></dt><dt><span class="sect1"><a href="#requirements">Requirements</a></span></dt><dt><span class="sect1"><a href="#installation">Installation</a></span></dt><dt><span class="sect1"><a href="#versions">Versions</a></span></dt><dt><span class="sect1"><a href="#configuration">Configuration</a></span></dt><dt><span class="sect1"><a href="#configurationfiles">Configuration files</a></span></dt><dt><span class="sect1"><a href="#defaultkeybindings">Default keybindings</a></span></dt><dt><span class="sect1"><a href="#sessionscripts">Session Scripts</a></span></dt><dt><span class="sect1"><a href="#compositemanagernotes">Composite manager notes</a></span></dt><dt><span class="sect1"><a href="#fonts">Fonts</a></span></dt><dt><span class="sect1"><a href="#usinge16withgnome">Using e16 with GNOME</a></span></dt><dt><span class="sect1"><a href="#usinge16withkde">Using e16 with KDE</a></span></dt><dt><span class="sect1"><a href="#majorchangesandnewfeaturesin0168">Major changes and new features in 0.16.8</a></span></dt><dt><span class="sect1"><a href="#migratingfromversionsolderthan0168">Migrating from versions older than 0.16.8</a></span></dt><dt><span class="sect1"><a href="#resources">Resources</a></span></dt><dt><span class="sect1"><a href="#id581260"> Revision History </a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="credits"></a>Credits</h2></div></div></div><p> This note contains contributions by </p><div class="itemizedlist"><ul type="disc"><li><p> Kim Woelders </p></li><li><p> Peter Hyman <code class="email"><<a class="email" href="mailto:pete4abw@comcast.net">pete4abw@comcast.net</a>></code> </p></li><li><p> Yasufumi Haga <code class="email"><<a class="email" href="mailto:yasufumi.haga@nifty.com">yasufumi.haga@nifty.com</a>></code> </p></li></ul></div><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="requirements"></a>Requirements</h2></div></div></div><p> </p><div class="itemizedlist"><ul type="disc"><li><p> <code class="filename">imlib2</code> >= 1.2.0 is required, >= 1.4.2 is recommended. </p></li><li><p> <code class="filename">imlib2</code> must be built with png support. </p></li></ul></div><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="installation"></a>Installation</h2></div></div></div><p> </p><pre class="programlisting"> ./configure make sudo make install </pre><p> </p><p> For additional help on package configuration, see </p><pre class="programlisting"> ./configure --help </pre><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="versions"></a>Versions</h2></div></div></div><p> </p><div class="variablelist"><dl><dt><span class="term"> e16-1.0.0: </span></dt><dd><p> No major changes, might as well have been 0.16.8.16. </p></dd><dt><span class="term"> e16-0.16.8 </span></dt><dd><p> </p><div class="itemizedlist"><ul type="disc"><li><p> Released Feb 2006 </p></li><li><p> enlightenment -> e16 </p></li><li><p> Major internal rewrite </p></li><li><p> Changed configuration system </p></li><li><p> Added compositing manager </p></li></ul></div><p> </p></dd><dt><span class="term"> enlightenment-0.16.7 </span></dt><dd><p> </p><div class="itemizedlist"><ul type="disc"><li><p> Released Jul 2004 </p></li><li><p> Migrated to imlib2 </p></li></ul></div><p> </p></dd><dt><span class="term"> enlightenment-0.16.6 </span></dt><dd><p> </p><div class="itemizedlist"><ul type="disc"><li><p> Released Nov 2003 </p></li><li><p> Added extended window manager hint support </p></li></ul></div><p> </p></dd><dt><span class="term"> enlightenment-0.16.5 </span></dt><dd><p> Released Oct 2000 </p></dd><dt><span class="term"> enlightenment-0.16.0 </span></dt><dd><p> Released Oct 1999 </p></dd></dl></div><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="configuration"></a>Configuration</h2></div></div></div><p> All settings can be shown and set using <span class="application">eesh</span>. </p><p> To get a full list of settings: </p><pre class="programlisting"> $ eesh show </pre><p> </p><p> To set some parameter: </p><pre class="programlisting"> $ eesh set <parameter> <value> </pre><p> </p><p> Some settings will not be effective until <span class="application">E</span> is restarted. </p><p> To get a list of all <span class="application">eesh</span> commands: </p><pre class="programlisting"> $ eesh help full </pre><p> </p><p> The available configuration options are shown below. Values are the defaults. </p><pre class="programlisting"> # [bool] High quality background rendering backgrounds.hiquality = 1 # [bool] Prefer user selected backgrounds over theme settings backgrounds.user = 1 # [bool] Do not scan all backgrounds when starting background configuration dialog backgrounds.no_scan = 0 # [int] Time out for unused background image pixmaps backgrounds.timeout = 240 # [bool] Enable composite manager compmgr.enable = 0 # [int] Composite manager mode (always 1 atm) compmgr.mode = 1 # [int] Dropshadow mode (0: off, 1: sharp, 2: blurry, 3: echo) compmgr.shadows.mode = 0 # [int] Dropshadow offset compmgr.shadows.offset_x = 3 compmgr.shadows.offset_y = 5 # [int] Blurry dropshadow radius compmgr.shadows.blur.radius = 5 # [int] Blurry dropshadow opacity(%) compmgr.shadows.blur.opacity = 75 # [int] Sharp dropshadow opacity(%) compmgr.shadows.sharp.opacity = 30 # [int] Shadow color (0xRRGGBB) compmgr.shadows.color = 0 # [bool] Hack to fix problems with resize on old xorg servers compmgr.resize_fix_enable = 0 # [bool] Experimental - leave at 0 compmgr.use_name_pixmap = 0 # [bool] Use composite overlay window compmgr.use_cow = 1 # [bool] Enable fading compmgr.fading.enable = 1 # [int] Fading time(ms) compmgr.fading.time = 200 # [int] Composite redirection of override-redirect windows (0: off, 1: on map, ...: testing) # Should normally be 1 but 0 may be a partial workaround of problems with vanishing # pop-ups on certain X-server/toolkit versions. compmgr.override_redirect.mode = 1 # [int] Opacity of override-redirect windows (pop-up's, etc) compmgr.override_redirect.opacity = 90 # [int] Number of desktops desktops.num = 2 # [int] Desktop dragging direction desktops.dragdir = 2 # [int] Desktop dragbar width (0: disable) desktops.dragbar_width = 16 # [int] Desktop dragbar length (0: full) desktops.dragbar_length = 0 # [int] Desktop dragbar button ordering desktops.dragbar_ordering = 1 # [bool] Wrap around on desk switch (last <-> first on next/prev) desktops.desks_wraparound = 0 # [bool] Slide desks in when switching desktops.slidein = 1 # [int] Desk slide speed desktops.slidespeed = 6000 # [int] Size of virtual desktop desktops.areas_nx = 2 desktops.areas_ny = 1 # [bool] Wrap around on area switch (last <-> first on next/prev) desktops.areas_wraparound = 0 # [int] Edge flip mode (0: off, 1: on, 2: only when moving window) desktops.edge_flip_mode = 1 # [int] Edge flip resistance(pixels) desktops.edge_flip_resistance = 25 # [bool] Enable ripples effect effects.ripples.enabled = 0 # [bool] Enable waves effect effects.waves.enabled = 0 # [int] Focus mode (0: pointer, 1: sloppy, 2: click) focus.mode = 1 # [bool] Raise window when clicked focus.clickraises = 1 # [bool] Transients are placed where leader is focus.transientsfollowleader = 1 # [bool] When a transient is mapped the desk/area is switched to where the transient appears focus.switchfortransientmap = 1 # [bool] Focus new windows focus.all_new_windows_get_focus = 0 # [bool] Focus new transients focus.new_transients_get_focus = 0 # [bool] Focus new transients if group is focused focus.new_transients_get_focus_if_group_focused = 1 # [bool] Raise window on focus next focus.raise_on_next = 1 # [bool] Warp pointer to window on focus next focus.warp_on_next = 0 # [bool] Always warp pointer into window when new window is focused focus.warp_always = 0 # [bool] Enable autoraise focus.autoraise.enable = 0 # [int] Autoraise delay(ms) focus.autoraise.delay = 500 # [bool] Default group settings groups.dflt.iconify = 1 groups.dflt.kill = 0 groups.dflt.move = 1 groups.dflt.raise = 0 groups.dflt.set_border = 1 groups.dflt.stick = 1 groups.dflt.shade = 1 groups.swapmove = 1 # [int] Iconbox animation time(ms) iconboxes.anim_time = 250 # [string] Language used by e16 (dialogs, tooltips, etc.) # Inherit from environment if not set locale.internal = # [string] Language exported when starting applications # Inherit from environment if not set locale.exported = # [bool] Animate menus menus.animate = 0 # [bool] Keep menus on-screen menus.onscreen = 1 # [bool] Warp pointer when sliding menus menus.warp = 1 # [bool] Enable icons in menus menus.show_icons = 1 # [int] Menu icon size(pixels) menus.icon_size = 16 # [int] Menu navigation keycodes menus.key.left = 0xff51 menus.key.right = 0xff53 menus.key.up = 0xff52 menus.key.down = 0xff54 menus.key.escape = 0xff1b menus.key.ret = 0xff0d # [int] Animation time step(ms) misc.animation.step = 10 # [int] Button move resistance(pixels) misc.buttons.move_resistance = 10 # [bool] Show headers in dialogs misc.dialogs.headers = 0 # [bool] Enable images on dialog buttons misc.dialogs.button_image = 0 # [bool] Enable docking of dockapps misc.dock.enable = 1 # [bool] Make all dockapps sticky misc.dock.sticky = 1 # [int] Dock direction misc.dock.dirmode = 3 # [int] Dock start position misc.dock.startx = 0 misc.dock.starty = 0 # [bool] Enable desktop background compatibility mode # Fixes background in many apps using pseudotransparency # May cause major slowdowns in certain setups misc.hints.set_xroot_info_on_root_window = 0 # [int] Move mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid, 5: translucent) misc.movres.mode_move = 0 # [int] Resize mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid) misc.movres.mode_resize = 2 # [int] Geometry indicator mode (0: off, 1: window center, 2: screen corner) misc.movres.mode_info = 1 # [int] Default maximize mode (0: Absolute, 1: Available, 2: Conservative) misc.movres.mode_maximize_default = 1 # [int] Move/resize color (RGB) when using non-server-grabbing technincal/box modes. misc.movres.color = 0xff0000 # [bool] Avoid server grab # Use non-server-grabbing line drawing technique in technical and box modes. misc.movres.avoid_server_grab = 1 # [bool] Send synthetic ConfigureNotify's while moving # Causes pseudotransparent apps to update while moving (expensive) misc.movres.update_while_moving = 0 # [bool] Use SYNC_REQUEST's to synchronize move/resize with client misc.movres.enable_sync_request = 0 # [bool] Do not cover dragbar when maximizing misc.movres.dragbar_nocover = 0 # [int] Composite opacity of menu windows misc.opacity.menus = 85 # [int] Composite opacity of windows being moved misc.opacity.movres = 60 # [int] Composite opacity of tooltip windows misc.opacity.tooltips = 80 # [int] Composite opacity of focused windows misc.opacity.focused = 100 # [int] Composite opacity of unfocused windows misc.opacity.unfocused = 100 # [bool] Place windows manually misc.place.manual = 0 # [bool] Place windows under pointer misc.place.manual_mouse_pointer = 0 # [bool] Center windows when desk is full misc.place.center_if_desk_full = 0 # [bool] Ignore windows with struts (e.g. panels) when placing new window misc.place.ignore_struts = 0 # [bool] Raise fullscreen windows (increase stacking level while fullscreen) misc.place.raise_fullscreen = 0 # [bool] Slide windows in misc.place.slidein = 0 # [bool] Slide windows around while cleaning up misc.place.cleanupslide = 1 # [int] Window slide-in mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid) misc.place.slidemode = 0 # [int] Window slide-in speed misc.place.slidespeedmap = 6000 # [int] Window cleanup slidespeed misc.place.slidespeedcleanup = 8000 # [bool] Enable session scripts misc.session.enable_script = 0 # [string] Session script misc.session.script = $EROOT/scripts/session.sh # [bool] Enable logout dialog misc.session.enable_logout_dialog = 1 # [bool] Enable reboot/halt in logout dialog misc.session.enable_reboot_halt = 0 # [string] Reboot command misc.session.cmd_reboot = reboot # [string] Halt command misc.session.cmd_halt = poweroff # [bool] Enable animation of window shading misc.shading.animate = 1 # [int] Shading speed misc.shading.speed = 8000 # [bool] Enable resistance when moving windows misc.snap.enable = 1 # [int] Resistance at other window edge misc.snap.edge_snap_dist = 8 # [int] Resistance at screen edge misc.snap.screen_snap_dist = 32 # [bool] First time flag misc.startup.firsttime = 0 # [bool] Enable sliding startup windows misc.startup.animate = 1 # [bool] Test options (do not change) misc.testing.argb_internal_objects = 0 misc.testing.argb_internal_clients = 0 misc.testing.argb_clients = 0 misc.testing.argb_clients_inherit_attr = 0 misc.testing.image_cache_size = -1 misc.testing.mask_alpha_threshold = 8 misc.testing.enable_startup_id = 1 misc.testing.use_render_for_scaling = 0 misc.testing.bindings_reload = 1 misc.testing.no_sync_mask = 0 # [bool] Save configuration changes misc.autosave = 1 # [bool] Keep memory usage down (should probably always be 1) misc.memory_paranoia = 1 # [bool] Use save-unders when appropriate misc.save_under = 0 # [bool] Show differential time in debug output misc.difftime = 0 # [bool] Enable pagers pagers.enable = 1 # [bool] Enable zooming of pager snapshot windows pagers.zoom = 1 # [bool] Show window name pop-ups pagers.title = 1 # [bool] Enable high quality snapshots pagers.hiq = 1 # [int] Pager mode (0: simple, 1: snap, 2: live) pagers.mode = 2 # [int] Scan/update speed (lines/updates per second. Used only in snap or live mode) pagers.scanspeed = 10 # [int] Pager buttons pagers.sel_button = 2 pagers.win_button = 1 pagers.menu_button = 3 # [bool] Enable sound sound.enable = 0 # [string] Use sounds from theme sound.theme = # [int] Bits masks for disabling particular sounds sound.mask1 = 0 sound.mask2 = 0 # [string] Theme theme.name = winter # [string] Colon separated list of directories containing e16 themes theme.extra_path = # [bool] Use font specified by theme theme.use_theme_font_cfg = 0 # [bool] Use alternative font configuration file (specified by theme.font_cfg) theme.use_alt_font_cfg = 0 # [string] Alternative font configuration file theme.font_cfg = # [bool] Enable tooltips tooltips.enable = 1 # [bool] Enable root window tooltips tooltips.showroottooltip = 1 # [int] Tooltip delay tooltips.delay = 1500 # [int] Theme transparency(0-255) transparency.alpha = 0 # [int] Item transparencies (0: off, 1: background, 2: glass) transparency.menu = 1 transparency.menu_item = 1 transparency.tooltip = 2 transparency.widget = 1 transparency.hilight = 0 transparency.border = 1 transparency.iconbox = 1 transparency.dialog = 1 transparency.pager = 1 transparency.warplist = 1 # [bool] Enable focus list (alt-tab) warplist.enable = 1 # [bool] Show sticky windows warplist.showsticky = 1 # [bool] Show shaded windows warplist.showshaded = 1 # [bool] Show iconified windows warplist.showiconified = 1 # [bool] Show windows on all desks warplist.showalldesks = 0 # [bool] Warp pointer to focused window warplist.warpfocused = 1 # [bool] Raise window while selecting warplist.raise_on_select = 1 # [bool] Warp pointer to window while selecting warplist.warp_on_select = 0 # [bool] Icon mode (0: none, 3: e/app/snap, 4: app/e/snap) warplist.icon_mode = 3 </pre><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="configurationfiles"></a>Configuration files</h2></div></div></div><p> Skip this section unless you *really* want to know... </p><p> It is here assumed that <code class="option">--prefix</code> is <code class="filename">/usr</code>, and that the default user configuration directory (<code class="filename">~/.e16</code>) is used. </p><p> In general, the configuration search order for theme related configuration files, say <code class="filename">xyz.cfg</code>, is: </p><div class="orderedlist"><ol type="1"><li><p> User configuration directory, i.e. <code class="filename">~/.e16/xyz.cfg</code>. </p></li><li><p> Theme directory, i.e. <code class="filename">/usr/share/e16/themes/<theme>/xyz.cfg</code>, or <code class="filename">~/.e16/themes/<theme>/xyz.cfg</code>. </p></li><li><p> Default configuration directory, i.e. <code class="filename">/usr/share/e16/config/xyz.cfg</code>. </p></li></ol></div><p> </p><p> Mouse and keybindings are defined in <code class="filename">bindings.cfg</code>. <code class="filename">bindings.cfg</code> is searched in </p><div class="orderedlist"><ol type="1"><li><p> User configuration directory, i.e. <code class="filename">~/.e16/bindings.cfg</code>. </p></li><li><p> Default configuration directory, i.e. <code class="filename">/usr/share/e16/config/bindings.cfg</code>. </p></li></ol></div><p> </p><p> Window matches (border and icon associations) are defined in <code class="filename">windowmatches.cfg</code> and <code class="filename">matches.cfg</code>. <code class="filename">windowmatches.cfg</code> (deprecated, border associations only) is loaded first, and should be found only in theme directories. <code class="filename">matches.cfg</code> is loaded next, and searched in </p><div class="orderedlist"><ol type="1"><li><p> User configuration directory, i.e. <code class="filename">~/.e16/matches.cfg</code>. </p></li><li><p> Default configuration directory, i.e. <code class="filename">/usr/share/e16/config/matches.cfg</code>. </p></li></ol></div><p> 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. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="defaultkeybindings"></a>Default keybindings</h2></div></div></div><p> </p><table class="simplelist" border="0" summary="Simple list"><tr><td>Alt-Ctrl</td><td>Home</td><td>Auto-arrange windows</td></tr><tr><td>Alt-Ctrl</td><td>Insert</td><td>Launch Eterm</td></tr><tr><td>Alt-Ctrl</td><td>Delete</td><td>Log out</td></tr><tr><td>Alt-Ctrl</td><td>End</td><td>Exit</td></tr><tr><td>Alt-Ctrl</td><td>Right</td><td>Goto next desk</td></tr><tr><td>Alt-Ctrl</td><td>Left</td><td>Goto previous desk</td></tr><tr><td>Alt-Shift</td><td>Down</td><td>Move desk area down</td></tr><tr><td>Alt-Shift</td><td>Up</td><td>- - - up</td></tr><tr><td>Alt-Shift</td><td>Left</td><td>- - - left</td></tr><tr><td>Alt-Shift</td><td>Right</td><td>- - - right</td></tr><tr><td>Alt</td><td>F1</td><td>Goto desk 0</td></tr><tr><td>Alt</td><td>F2</td><td>- - 1</td></tr><tr><td>Alt</td><td>F3</td><td>- - 2</td></tr><tr><td>Alt</td><td>F4</td><td>- - 3</td></tr><tr><td>Alt</td><td>F5</td><td>- - 4</td></tr><tr><td>Alt</td><td>F6</td><td>- - 5</td></tr><tr><td>Alt</td><td>F7</td><td>- - 6</td></tr><tr><td>Alt</td><td>F8</td><td>- - 7</td></tr><tr><td>Alt</td><td>Tab</td><td>Switch focus (using focus list, if enabled)</td></tr><tr><td>Alt-Ctrl</td><td>Up</td><td>Raise active window</td></tr><tr><td>Alt-Ctrl</td><td>Down</td><td>Lower active window</td></tr><tr><td>Alt-Ctrl</td><td>x</td><td>Close active window</td></tr><tr><td>Alt-Ctrl</td><td>k</td><td>Destroy active window</td></tr><tr><td>Alt-Ctrl</td><td>s</td><td>Toggle active window sticky state</td></tr><tr><td>Alt-Ctrl</td><td>i</td><td>Iconify active window</td></tr><tr><td>Alt-Ctrl</td><td>r</td><td>Toggle active window shaded state</td></tr><tr><td>Alt-Ctrl</td><td>f</td><td>Toggle active window fullscreen state</td></tr><tr><td>Alt-Ctrl</td><td>m</td><td>Toggle active window maximized state</td></tr><tr><td>Alt-Ctrl</td><td>w</td><td>Show window-ops menu for active window</td></tr><tr><td>Alt</td><td>Return</td><td>Toggle active window zoomed state</td></tr><tr><td>Ctrl-Shift</td><td>F1</td><td>Show User menu (default left mouse button)</td></tr><tr><td>Ctrl-Shift</td><td>F2</td><td>Show Enlightenment menu (default middle mouse button)</td></tr><tr><td>Ctrl-Shift</td><td>F3</td><td>Show Configuration menu (default right mouse button)</td></tr><tr><td>Ctrl-Shift</td><td>F4</td><td>Show Window List menu (default Alt-middle mouse button)</td></tr><tr><td>Alt-Ctrl</td><td>a</td><td>Toggle visibility of all buttons</td></tr><tr><td>Alt-Ctrl</td><td>b</td><td>Toggle visibility of theme buttons</td></tr><tr><td>Alt-Ctrl</td><td>c</td><td>Toggle visibility of configuration buttons</td></tr></table><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sessionscripts"></a>Session Scripts</h2></div></div></div><p> <span class="application">Enlightenment</span> 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 <span class="application">E</span> quits (this is especially common with <span class="application">KDE</span> applications in <span class="application">E</span> and the arts daemon or dcop server keeps running). </p><p> <span class="application">Enlightenment</span> accomplishes this with the addition of two new keys in the <code class="filename">$ECONFDIR/e_config--#.#.cfg</code> (#.# may vary depending on your X setup -- for most people, it will be 0.0). These are: </p><pre class="programlisting"> misc.session.enable_script misc.session.script </pre><p> </p><p> <code class="varname">misc.session.enable_script</code> is a boolean. When set to 1, <span class="application">Enlightenment</span> will execute the script in the <code class="varname">misc.session.script</code> key. By default, this feature is disabled. When enabled, it will do nothing until the user configures his/her home directory (<code class="filename">$ECONFDIR</code> -- normally <code class="filename">~/.e16</code>). </p><p> The default session.script is located in <code class="filename">$EROOT/scripts/session.sh</code> (<code class="filename">$EROOT</code> is normally <code class="filename">/usr/share/e16</code> or <code class="filename">/usr/local/share/e16</code>). It will look for directories in the user's <code class="filename">$ECONFDIR/</code> (<code class="filename">~/.e16/</code>) called: </p><pre class="programlisting"> ~/.e16/ ($ECONFDIR) Init/ Start/ Stop/ </pre><p> and run any and/or all scripts or executables in each when <span class="application">E</span> starts, restarts, and shuts down. If no scripts or executables are present, or if any of the directories <code class="filename">Init</code>, <code class="filename">Start</code>, and <code class="filename">Stop</code> do not exist, NOTHING will happen and <span class="application">E</span> will start up as usual. So, in order to use session scripts, all the user has to do is to populate the <code class="filename">Init</code>, <code class="filename">Start</code>, and <code class="filename">Stop</code> directories with scripts, applications, or links to applications that should run during Startup, Restart, or when <span class="application">E</span> is stopped. </p><p> The default values for the new keys are: </p><pre class="programlisting"> misc.session.enable_script = 0 misc.session.script = $EROOT/scripts/session.sh </pre><p> </p><p> The user may write a custom script and place it anywhere. Simply modify the config file by using: </p><pre class="programlisting"> $ eesh set misc.session.script myscript </pre><p> and modify it (be sure to <span class="command"><strong>chmod +x</strong></span> the file otherwise it won't run). The session script is called with one of three command parameters; <em class="parameter"><code>init</code></em>, <em class="parameter"><code>start</code></em>, and <em class="parameter"><code>stop</code></em>. Any custom script should have a code block similar to this in order to function properly in <span class="application">Enlightenment</span>. </p><pre class="programlisting"> 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 </pre><p> </p><p> Automatic script running can be enabled/disabled via the Session Settings dialog in <span class="application">Enlightenment</span> and checking/unchecking the option Enable Session Script, by editing the user cfg file and setting the <code class="varname">misc.session.enable_script</code> key to 1/0, or with </p><pre class="programlisting"> $ eesh set misc.session.enable_script 1/0 </pre><p> This process is very flexible since when used, the user can turn off individual scripts and applications by <span class="command"><strong>chmod -x</strong></span> or simply leave the startup directories empty or remove them. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compositemanagernotes"></a>Composite manager notes</h2></div></div></div><p> To use the composite manager it is required that the X-server has support enabled for the COMPOSITE, DAMAGE, FIXES, and RENDER extensions. For reasonable performance it is also required that hardware acceleration of the RENDER extension is enabled. </p><p> As of version 0.16.8.2 it may happen that the borders on application windows using ARGB visuals (for transparency) are "ugly". Applications may use ARGB visuals intentionally (e.g. fdclock) or not (e.g. xv on 16 bit root depth). Applications unintentionally using an ARGB visual will normally not be rendered properly at all and should be started with the environment variable <code class="varname">XLIB_SKIP_ARGB_VISUALS</code> set. To fix border rendering on "real" ARGB windows it is required to use <code class="filename">imlib2</code> with version >= 1.3.0. </p><p> Tweaks: </p><p> As of e16 >= 0.16.8.9: If there is any kind of trouble with the composite manager, first check <code class="varname">compmgr.mode</code> (<span class="command"><strong>eesh show compmgr</strong></span>), and set it to 1 if it isn't (<span class="command"><strong>eesh set compmgr.mode 1</strong></span>, restart). </p><p> If pop-up windows disappear immediately after having appeared (may happen e.g. with certain pop-up windows when using gnome > 2.12), try: </p><pre class="programlisting"> $ eesh set compmgr.override_redirect.mode 0 </pre><p> This should make the pop-up windows usable, but not always rendered properly. This problem should not occur with recent X-servers. </p><p> If window resize/shading with composite enabled is ugly, try: </p><pre class="programlisting"> $ eesh set compmgr.resize_fix_enable 1 </pre><p> This problem should not occur with recent X-servers. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="fonts"></a>Fonts</h2></div></div></div><p> Theme font selection depends on a number of settings and whether or not the theme has font alias support. </p><p> For themes with font alias support the fonts are determined by a font configuration file. This file is selected as follows, first hit applies: </p><div class="itemizedlist"><ul type="disc"><li><p> If <code class="varname">theme.use_alt_font_cfg</code> is set (default off) and the the file specified by <code class="varname">theme.font_cfg</code> is found the fonts are determined by this file. </p></li><li><p> If <code class="varname">theme.use_theme_font_cfg</code> is set (default off) and the theme has a <code class="filename">fonts.theme.cfg</code> the fonts are determined by the theme's <code class="filename">fonts.theme.cfg</code>. </p></li><li><p> If <span class="application">e16</span> was built with <span class="application">pango</span> support, look for <code class="filename">fonts.pango.cfg</code>. </p></li><li><p> If <span class="application">e16</span> was built with <span class="application">xft</span> support, look for <code class="filename">fonts.xft.cfg</code>. </p></li><li><p> Look for <code class="filename">fonts.cfg</code>. </p></li></ul></div><p> </p><p> The font configuration file search path is <code class="filename">~/.e16, <theme-dir></code>, and <code class="filename">/usr/share/e16/config</code>. Default <code class="filename">fonts.pango.cfg</code> and <code class="filename">fonts.xft.cfg</code> are provided in <code class="filename">/usr/share/e16/config</code>. </p><p> The default theme (winter) and the core themes (BlueSteel, BrushedMetal-Tigert, Ganymede, and ShinyMetal) do have font alias support. </p><p> Don Harrop has made available a major number of <span class="application">e16</span> themes which have been modified for font alias support (<a class="ulink" href="http://themes.effx.us" target="_top"><em class="citetitle">themes.effx.us</em></a>). </p><p> Other themes are likely to not have font alias support but in stead have font references more or less scattered around in TextClass definitions in the theme configuration files. </p><p> There are several ways to specify a font (in the font configuration file or in TextClasses): </p><div class="itemizedlist"><ul type="disc"><li><p> "<font name>/<size>", e.g. "Vera/8". </p><p> In this case <span class="application">e16</span> must be able to find "Vera.ttf" in <code class="filename"><theme dir>/ttfonts</code> or <code class="filename">/usr/share/e16/fonts</code>. </p></li><li><p> XLFD font sets, e.g. "-*-lucida-medium-r-normal-*-12-120-*-*-*-*-*-*,-*-gulim*-medium-r-normal-*-12-120-*-*-*-*-ksc5601.1987-*". </p><p> <span class="application">xfontsel</span>, <span class="application">xlsfonts</span>, and <span class="application">xfd</span> can be used to select and show these fonts. </p></li><li><p> Fontconfig font names, prefixed by "xft:", e.g. "xft:Luxi Sans-10:bold". </p><p> <span class="application">fc-list</span> and <span class="application">xfd</span> can be used to select and show these fonts. This possibility (Xft support) is available as of version 0.16.8.5. </p></li><li><p> Pango font names, prefixed by "pango:", e.g. "pango:sans bold 10". </p><p> This possibility (Pango support) is available as of version 0.16.8.9. Pango support must be explicitly enabled at build time with <code class="option">--enable-pango</code>. </p></li></ul></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usinge16withgnome"></a>Using e16 with GNOME</h2></div></div></div><p> Setting up <span class="application">e16</span> as WM in a <span class="application">GNOME</span> session unfortunately depends on the version of <span class="application">gnome-session</span>. </p><p> Recent versions of <span class="application">gnome-session</span> seem to require that a gconf key is set and that an <code class="filename">e16.desktop</code> file can be found: </p><pre class="programlisting"> $ gconftool-2 --set /desktop/gnome/session/required_components/windowmanager --type string e16 $ gnome-sesssion </pre><p> </p><p> <code class="filename">/usr/share/applications/e16.desktop</code> (or <code class="filename">~/.local/share/applications/e16.desktop</code>): </p><pre class="programlisting"> [Desktop Entry] Encoding=UTF-8 Type=Application Name=E16 Comment=The Enlightenment (e16) window manager Exec=e16 Icon=/usr/share/e16/misc/e16.png </pre><p> </p><p> The section below seems to be obsolete as of <span class="application">gnome-session-2.2x(?)</span> </p><p> The <span class="application">GNOME</span> desktop can be started using <span class="application">e16</span> as WM with: </p><pre class="programlisting"> $ export WINDOW_MANAGER=e16 $ gnome-sesssion </pre><p> </p><p> The section below is obsolete as of <span class="application">gnome-session-2.16</span> </p><p> However, somewhere along the way the script <code class="filename">/usr/bin/gnome-wm</code> is called. This is supposed to handle differences in all the different WM's out there, but does not know of "<span class="application">e16</span>". This will cause a major delay when starting up the <span class="application">GNOME</span> desktop. One way to fix this is to use <span class="property">gnome-session-properties</span> to get rid of the "gnome-wm" session entry. </p><p> Another is to apply this patch to <code class="filename">/usr/bin/gnome-wm</code>: </p><pre class="programlisting"> --- /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) </pre><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usinge16withkde"></a>Using e16 with KDE</h2></div></div></div><p> The <span class="application">KDE</span> desktop can be started using <span class="application">e16</span> as WM with: </p><pre class="programlisting"> $ export KDEWM=e16 $ startkde </pre><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="majorchangesandnewfeaturesin0168"></a>Major changes and new features in 0.16.8</h2></div></div></div><p> The following sections are only relevant for users upgrading from version 0.16.7 or older. </p><p> Changes: </p><div class="itemizedlist"><ul type="disc"><li><p> "enlightenment" has been renamed to "e16". </p></li><li><p> The default user configuration directory is "<code class="filename">~/.e16</code>". </p></li><li><p> The data install path is "<code class="filename"><somepath>/e16</code>", e.g. "<code class="filename">/usr/share/e16</code>". Thus, an <span class="application">e16.8</span> installation should not clash with any other versions. </p></li><li><p> Various configuration file formats have changed and should be easier to read and modify, if needed. </p></li><li><p> The configuration is stored per display and per screen. E.g. for <code class="varname">DISPLAY=:1.0</code> the main configuration file is "<code class="filename">~/.e16/e_config--1.0.cfg</code>". </p></li><li><p> Actions(used by menus, keybindings, etc.) and IPC functions(<span class="application">eesh</span>) have been merged. </p></li><li><p> Many IPC(<span class="application">eesh</span>) commands have been changed, possibly breaking compatibility with a few epplets. </p></li><li><p> Window matches and icondefs have been merged (into <code class="filename">matches.cfg</code>), see below. </p></li></ul></div><p> </p><p> New features: </p><div class="itemizedlist"><ul type="disc"><li><p> Built-in composite manager. </p></li><li><p> An iconbox can be configured to act as System Tray (<span class="interface">middle mouse</span>+<span class="guimenu">Desktop</span> → <span class="guimenuitem">Create Systray</span>). </p></li><li><p> Possibility to run programs on startup, restart, and shutdown, see <a class="link" href="#sessionscripts" title="Session Scripts">"Session Scripts"</a> below. </p></li><li><p> Possibility to track changes in remembered settings. </p></li><li><p> 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 <code class="filename">matches.cfg</code>). </p></li></ul></div><p> </p><p> 0.16.8 should be compatible with most <span class="application">e16</span> themes. However, user installed themes will have to be moved/linked to <code class="filename">~/.e16/themes/</code> or <code class="filename"><datadir>/e16/themes/</code>. A few themes will have to be tweaked to work with <span class="application">e16.8</span>. The most likely problem is that configuration settings are included in .cfg files where they are no longer accepted. See the <a class="link" href="#migratingfromversionsolderthan0168" title="Migrating from versions older than 0.16.8">"Migrating ..."</a> section below for additional information. </p><p> <span class="application">e16keyedit</span> >= 0.3 works with e16.8. </p><p> If used to change the keybindings, the modified settings will be stored in <code class="filename">~/.e16/bindings.cfg</code>. It should also be fairly straightforward to modify the key- and buttonbindings by hand. Copy <code class="filename">/usr/share/e16/config/bindings.cfg</code> to <code class="filename">~/.e16/bindings.cfg</code> and modify as desired. </p><p> NB! <span class="application">e16keyedit</span> only modifies keybindings, not buttonbindings. </p><p> NB!!! Do not rename <code class="filename">~/.enlightenment</code> to <code class="filename">~/.e16</code>. It will only cause trouble. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="migratingfromversionsolderthan0168"></a>Migrating from versions older than 0.16.8</h2></div></div></div><p> Users upgrading from enlightenment 0.16.7 need to read the following. </p><p> 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. </p><div class="orderedlist"><ol type="1"><li><p> home configuration directory is now <code class="filename">~/.e16</code>, not <code class="filename">~/.enlightenment</code>. </p></li><li><p> menu files have been moved to a subdirectory called menus you will need to move customized menus and subdirectories to <code class="filename">~/.e16/menus</code>. </p></li><li><p> you will need to move <code class="filename">~/.enlightenment/backgrounds</code> files to <code class="filename">~/.e16</code> and any themes as well. </p></li><li><p> <code class="filename">$prefix/share/enlightenment</code> has been changed to <code class="filename">$prefix/share/e16</code> </p></li><li><p> if installed E-docs and Epplet directories will have to be moved to <code class="filename">$prefix/share/e16</code> </p></li><li><p> any additional themes that were added to the <code class="filename">$prefix/share/enlightenment</code> directory will have to be moved to <code class="filename">$prefix/share/e16</code> </p></li><li><p> any startup scripts or Session scripts that reference the startup executable `<span class="command"><strong>enlightenment</strong></span>` must be edited to the new <span class="command"><strong>e16</strong></span> program. </p></li></ol></div><p> </p><p> A few themes have to be tweaked to work with 0.16.8. </p><p> Some themes (Maw, Black E) have an <code class="filename">actionclasses.cfg</code> like: </p><pre class="programlisting"> #include <definitions> __E_CFG_VERSION 0 #include </usr/local/enlightenment/config/actionclasses.cfg> #include </usr/share/enlightenment/config/actionclasses.cfg> </pre><p> The absolute path is obviously no longer valid. The most sensible fix for these themes is to remove the themes <code class="filename">actionclasses.cfg</code>. <span class="application">e16</span> will then fall back to the default one. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="resources"></a>Resources</h2></div></div></div><p> The e16-docs package is somewhat dated but still contains much relevant information about using e16. </p><div class="variablelist"><dl><dt><span class="term"> Enlightenment web site: </span></dt><dd><p> <a class="ulink" href="http://www.enlightenment.org" target="_top"><em class="citetitle">www.enlightenment.org</em></a> </p></dd><dt><span class="term"> Mailing lists: </span></dt><dd><p> <a class="ulink" href="http://sourceforge.net/mail/?group_id=2" target="_top"><em class="citetitle">sourceforge.net/mail</em></a> </p></dd><dt><span class="term"> IRC: </span></dt><dd><p> #e on freenode </p></dd></dl></div><p> </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id581260"></a> Revision History </h2></div></div></div><p> </p><div class="revhistory"><table border="0" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></tr><tr><td align="left">Revision 33</td><td align="left">Apr 19, 2009</td><td align="left">Yasufumi Haga</td></tr><tr><td align="left" colspan="3"> rename README-0.16.8.xml to README.xml </td></tr><tr><td align="left">Revision 32</td><td align="left">Jan 25, 2009</td><td align="left">Yasufumi Haga</td></tr><tr><td align="left" colspan="3"> Add html version converted from README-0.16.8.xml rewritten by Yasufumi Haga based on the ascii version of the file. </td></tr><tr><td align="left">Revision 1-31</td><td align="left">2004-2009</td><td align="left">Several</td></tr><tr><td align="left" colspan="3"> Updates... </td></tr><tr><td align="left">Revision 0</td><td align="left">Dec 30, 2004</td><td align="left">Peter Hyman</td></tr><tr><td align="left" colspan="3"> Notes on migrating to 0.16.8 </td></tr></table></div><p> </p></div></div></body></html>