1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
6 <title>About Enlightenment e16</title>
7 <pubdate>Apr 19, 2009</pubdate>
15 <title>Credits</title>
17 This note contains contributions by
26 Peter Hyman <email>pete4abw@comcast.net</email>
31 Yasufumi Haga <email>yasufumi.haga@nifty.com</email>
37 <sect1 id="requirements">
38 <title>Requirements</title>
43 <filename>imlib2</filename> >= 1.2.0 is required, >= 1.4.2 is recommended.
48 <filename>imlib2</filename> must be built with png support.
54 <sect1 id="installation">
55 <title>Installation</title>
64 For additional help on package configuration, see
71 <title>Versions</title>
80 No major changes, might as well have been 0.16.8.16.
98 enlightenment -> e16
103 Major internal rewrite
108 Changed configuration system
113 Added compositing manager
155 Added extended window manager hint support
185 <sect1 id="configuration">
186 <title>Configuration</title>
188 All settings can be shown and set using <application>eesh</application>.
191 To get a full list of settings:
197 To set some parameter:
199 $ eesh set <parameter> <value>
203 Some settings will not be effective until <application>E</application> is restarted.
206 To get a list of all <application>eesh</application> commands:
212 The available configuration options are shown below. Values are the defaults.
214 # [bool] High quality background rendering
215 backgrounds.hiquality = 1
216 # [bool] Prefer user selected backgrounds over theme settings
218 # [bool] Do not scan all backgrounds when starting background configuration dialog
219 backgrounds.no_scan = 0
220 # [int] Time out for unused background image pixmaps
221 backgrounds.timeout = 240
223 # [bool] Enable composite manager
225 # [int] Composite manager mode (always 1 atm)
227 # [int] Dropshadow mode (0: off, 1: sharp, 2: blurry, 3: echo)
228 compmgr.shadows.mode = 0
229 # [int] Dropshadow offset
230 compmgr.shadows.offset_x = 3
231 compmgr.shadows.offset_y = 5
232 # [int] Blurry dropshadow radius
233 compmgr.shadows.blur.radius = 5
234 # [int] Blurry dropshadow opacity(%)
235 compmgr.shadows.blur.opacity = 75
236 # [int] Sharp dropshadow opacity(%)
237 compmgr.shadows.sharp.opacity = 30
238 # [int] Shadow color (0xRRGGBB)
239 compmgr.shadows.color = 0
240 # [bool] Hack to fix problems with resize on old xorg servers
241 compmgr.resize_fix_enable = 0
242 # [bool] Experimental - leave at 0
243 compmgr.use_name_pixmap = 0
244 # [bool] Use composite overlay window
246 # [bool] Enable fading
247 compmgr.fading.enable = 1
248 # [int] Fading time(ms)
249 compmgr.fading.time = 200
250 # [int] Composite redirection of override-redirect windows (0: off, 1: on map, ...: testing)
251 # Should normally be 1 but 0 may be a partial workaround of problems with vanishing
252 # pop-ups on certain X-server/toolkit versions.
253 compmgr.override_redirect.mode = 1
254 # [int] Opacity of override-redirect windows (pop-up's, etc)
255 compmgr.override_redirect.opacity = 90
257 # [int] Number of desktops
259 # [int] Desktop dragging direction
261 # [int] Desktop dragbar width (0: disable)
262 desktops.dragbar_width = 16
263 # [int] Desktop dragbar length (0: full)
264 desktops.dragbar_length = 0
265 # [int] Desktop dragbar button ordering
266 desktops.dragbar_ordering = 1
267 # [bool] Wrap around on desk switch (last <-> first on next/prev)
268 desktops.desks_wraparound = 0
269 # [bool] Slide desks in when switching
271 # [int] Desk slide speed
272 desktops.slidespeed = 6000
273 # [int] Size of virtual desktop
274 desktops.areas_nx = 2
275 desktops.areas_ny = 1
276 # [bool] Wrap around on area switch (last <-> first on next/prev)
277 desktops.areas_wraparound = 0
278 # [int] Edge flip mode (0: off, 1: on, 2: only when moving window)
279 desktops.edge_flip_mode = 1
280 # [int] Edge flip resistance(pixels)
281 desktops.edge_flip_resistance = 25
283 # [bool] Enable ripples effect
284 effects.ripples.enabled = 0
285 # [bool] Enable waves effect
286 effects.waves.enabled = 0
288 # [int] Focus mode (0: pointer, 1: sloppy, 2: click)
290 # [bool] Raise window when clicked
291 focus.clickraises = 1
292 # [bool] Transients are placed where leader is
293 focus.transientsfollowleader = 1
294 # [bool] When a transient is mapped the desk/area is switched to where the transient appears
295 focus.switchfortransientmap = 1
296 # [bool] Focus new windows
297 focus.all_new_windows_get_focus = 0
298 # [bool] Focus new transients
299 focus.new_transients_get_focus = 0
300 # [bool] Focus new transients if group is focused
301 focus.new_transients_get_focus_if_group_focused = 1
302 # [bool] Raise window on focus next
303 focus.raise_on_next = 1
304 # [bool] Warp pointer to window on focus next
305 focus.warp_on_next = 0
306 # [bool] Always warp pointer into window when new window is focused
307 focus.warp_always = 0
308 # [bool] Enable autoraise
309 focus.autoraise.enable = 0
310 # [int] Autoraise delay(ms)
311 focus.autoraise.delay = 500
313 # [bool] Default group settings
314 groups.dflt.iconify = 1
317 groups.dflt.raise = 0
318 groups.dflt.set_border = 1
319 groups.dflt.stick = 1
320 groups.dflt.shade = 1
323 # [int] Iconbox animation time(ms)
324 iconboxes.anim_time = 250
326 # [string] Language used by e16 (dialogs, tooltips, etc.)
327 # Inherit from environment if not set
329 # [string] Language exported when starting applications
330 # Inherit from environment if not set
333 # [bool] Animate menus
335 # [bool] Keep menus on-screen
337 # [bool] Warp pointer when sliding menus
339 # [bool] Enable icons in menus
341 # [int] Menu icon size(pixels)
343 # [int] Menu navigation keycodes
344 menus.key.left = 0xff51
345 menus.key.right = 0xff53
346 menus.key.up = 0xff52
347 menus.key.down = 0xff54
348 menus.key.escape = 0xff1b
349 menus.key.ret = 0xff0d
351 # [int] Animation time step(ms)
352 misc.animation.step = 10
354 # [int] Button move resistance(pixels)
355 misc.buttons.move_resistance = 10
357 # [bool] Show headers in dialogs
358 misc.dialogs.headers = 0
359 # [bool] Enable images on dialog buttons
360 misc.dialogs.button_image = 0
362 # [bool] Enable docking of dockapps
364 # [bool] Make all dockapps sticky
366 # [int] Dock direction
367 misc.dock.dirmode = 3
368 # [int] Dock start position
372 # [bool] Enable desktop background compatibility mode
373 # Fixes background in many apps using pseudotransparency
374 # May cause major slowdowns in certain setups
375 misc.hints.set_xroot_info_on_root_window = 0
377 # [int] Move mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid, 5: translucent)
378 misc.movres.mode_move = 0
379 # [int] Resize mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid)
380 misc.movres.mode_resize = 2
381 # [int] Geometry indicator mode (0: off, 1: window center, 2: screen corner)
382 misc.movres.mode_info = 1
383 # [int] Default maximize mode (0: Absolute, 1: Available, 2: Conservative)
384 misc.movres.mode_maximize_default = 1
385 # [int] Move/resize color (RGB) when using non-server-grabbing technincal/box modes.
386 misc.movres.color = 0xff0000
387 # [bool] Avoid server grab
388 # Use non-server-grabbing line drawing technique in technical and box modes.
389 misc.movres.avoid_server_grab = 1
390 # [bool] Send synthetic ConfigureNotify's while moving
391 # Causes pseudotransparent apps to update while moving (expensive)
392 misc.movres.update_while_moving = 0
393 # [bool] Use SYNC_REQUEST's to synchronize move/resize with client
394 misc.movres.enable_sync_request = 0
395 # [bool] Do not cover dragbar when maximizing
396 misc.movres.dragbar_nocover = 0
398 # [int] Composite opacity of menu windows
399 misc.opacity.menus = 85
400 # [int] Composite opacity of windows being moved
401 misc.opacity.movres = 60
402 # [int] Composite opacity of tooltip windows
403 misc.opacity.tooltips = 80
404 # [int] Composite opacity of focused windows
405 misc.opacity.focused = 100
406 # [int] Composite opacity of unfocused windows
407 misc.opacity.unfocused = 100
409 # [bool] Place windows manually
410 misc.place.manual = 0
411 # [bool] Place windows under pointer
412 misc.place.manual_mouse_pointer = 0
413 # [bool] Center windows when desk is full
414 misc.place.center_if_desk_full = 0
415 # [bool] Ignore windows with struts (e.g. panels) when placing new window
416 misc.place.ignore_struts = 0
417 # [bool] Raise fullscreen windows (increase stacking level while fullscreen)
418 misc.place.raise_fullscreen = 0
419 # [bool] Slide windows in
420 misc.place.slidein = 0
421 # [bool] Slide windows around while cleaning up
422 misc.place.cleanupslide = 1
423 # [int] Window slide-in mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid)
424 misc.place.slidemode = 0
425 # [int] Window slide-in speed
426 misc.place.slidespeedmap = 6000
427 # [int] Window cleanup slidespeed
428 misc.place.slidespeedcleanup = 8000
430 # [bool] Enable session scripts
431 misc.session.enable_script = 0
432 # [string] Session script
433 misc.session.script = $EROOT/scripts/session.sh
434 # [bool] Enable logout dialog
435 misc.session.enable_logout_dialog = 1
436 # [bool] Enable reboot/halt in logout dialog
437 misc.session.enable_reboot_halt = 0
438 # [string] Reboot command
439 misc.session.cmd_reboot = reboot
440 # [string] Halt command
441 misc.session.cmd_halt = poweroff
443 # [bool] Enable animation of window shading
444 misc.shading.animate = 1
445 # [int] Shading speed
446 misc.shading.speed = 8000
448 # [bool] Enable resistance when moving windows
450 # [int] Resistance at other window edge
451 misc.snap.edge_snap_dist = 8
452 # [int] Resistance at screen edge
453 misc.snap.screen_snap_dist = 32
455 # [bool] First time flag
456 misc.startup.firsttime = 0
457 # [bool] Enable sliding startup windows
458 misc.startup.animate = 1
460 # [bool] Test options (do not change)
461 misc.testing.argb_internal_objects = 0
462 misc.testing.argb_internal_clients = 0
463 misc.testing.argb_clients = 0
464 misc.testing.argb_clients_inherit_attr = 0
465 misc.testing.image_cache_size = -1
466 misc.testing.mask_alpha_threshold = 8
467 misc.testing.enable_startup_id = 1
468 misc.testing.use_render_for_scaling = 0
469 misc.testing.bindings_reload = 1
470 misc.testing.no_sync_mask = 0
472 # [bool] Save configuration changes
474 # [bool] Keep memory usage down (should probably always be 1)
475 misc.memory_paranoia = 1
476 # [bool] Use save-unders when appropriate
478 # [bool] Show differential time in debug output
481 # [bool] Enable pagers
483 # [bool] Enable zooming of pager snapshot windows
485 # [bool] Show window name pop-ups
487 # [bool] Enable high quality snapshots
489 # [int] Pager mode (0: simple, 1: snap, 2: live)
491 # [int] Scan/update speed (lines/updates per second. Used only in snap or live mode)
492 pagers.scanspeed = 10
493 # [int] Pager buttons
494 pagers.sel_button = 2
495 pagers.win_button = 1
496 pagers.menu_button = 3
498 # [bool] Enable sound
500 # [string] Use sounds from theme
502 # [int] Bits masks for disabling particular sounds
508 # [string] Colon separated list of directories containing e16 themes
510 # [bool] Use font specified by theme
511 theme.use_theme_font_cfg = 0
512 # [bool] Use alternative font configuration file (specified by theme.font_cfg)
513 theme.use_alt_font_cfg = 0
514 # [string] Alternative font configuration file
517 # [bool] Enable tooltips
519 # [bool] Enable root window tooltips
520 tooltips.showroottooltip = 1
521 # [int] Tooltip delay
522 tooltips.delay = 1500
524 # [int] Theme transparency(0-255)
525 transparency.alpha = 0
526 # [int] Item transparencies (0: off, 1: background, 2: glass)
527 transparency.menu = 1
528 transparency.menu_item = 1
529 transparency.tooltip = 2
530 transparency.widget = 1
531 transparency.hilight = 0
532 transparency.border = 1
533 transparency.iconbox = 1
534 transparency.dialog = 1
535 transparency.pager = 1
536 transparency.warplist = 1
538 # [bool] Enable focus list (alt-tab)
540 # [bool] Show sticky windows
541 warplist.showsticky = 1
542 # [bool] Show shaded windows
543 warplist.showshaded = 1
544 # [bool] Show iconified windows
545 warplist.showiconified = 1
546 # [bool] Show windows on all desks
547 warplist.showalldesks = 0
548 # [bool] Warp pointer to focused window
549 warplist.warpfocused = 1
550 # [bool] Raise window while selecting
551 warplist.raise_on_select = 1
552 # [bool] Warp pointer to window while selecting
553 warplist.warp_on_select = 0
554 # [bool] Icon mode (0: none, 3: e/app/snap, 4: app/e/snap)
555 warplist.icon_mode = 3
559 <sect1 id="configurationfiles">
560 <title>Configuration files</title>
562 Skip this section unless you *really* want to know...
565 It is here assumed that <option>--prefix</option> is <filename class="directory">/usr</filename>, and that the default user
566 configuration directory (<filename class="directory">~/.e16</filename>) is used.
569 In general, the configuration search order for theme related configuration
570 files, say <filename>xyz.cfg</filename>, is:
574 User configuration directory, i.e. <filename>~/.e16/xyz.cfg</filename>.
579 Theme directory, i.e. <filename>/usr/share/e16/themes/<theme>/xyz.cfg</filename>, or
580 <filename>~/.e16/themes/<theme>/xyz.cfg</filename>.
585 Default configuration directory, i.e. <filename>/usr/share/e16/config/xyz.cfg</filename>.
591 Mouse and keybindings are defined in <filename>bindings.cfg</filename>. <filename>bindings.cfg</filename> is searched in
595 User configuration directory, i.e. <filename>~/.e16/bindings.cfg</filename>.
600 Default configuration directory, i.e. <filename>/usr/share/e16/config/bindings.cfg</filename>.
606 Window matches (border and icon associations) are defined in <filename>windowmatches.cfg</filename>
607 and <filename>matches.cfg</filename>.
608 <filename>windowmatches.cfg</filename> (deprecated, border associations only) is loaded first,
609 and should be found only in theme directories.
610 <filename>matches.cfg</filename> is loaded next, and searched in
614 User configuration directory, i.e. <filename>~/.e16/matches.cfg</filename>.
619 Default configuration directory, i.e. <filename>/usr/share/e16/config/matches.cfg</filename>.
623 Window match items are appended to the window match list, in the order
624 in which they are read from the configuration files.
625 When doing border/icon matches, the window match list is searched from the
626 start, and the first matching item will be used.
629 <sect1 id="defaultkeybindings">
630 <title>Default keybindings</title>
632 <simplelist type="horiz" columns="3">
633 <member>Alt-Ctrl</member><member>Home</member><member>Auto-arrange windows</member>
634 <member>Alt-Ctrl</member><member>Insert</member><member>Launch Eterm</member>
635 <member>Alt-Ctrl</member><member>Delete</member><member>Log out</member>
636 <member>Alt-Ctrl</member><member>End</member><member>Exit</member>
637 <member>Alt-Ctrl</member><member>Right</member><member>Goto next desk</member>
638 <member>Alt-Ctrl</member><member>Left</member><member>Goto previous desk</member>
639 <member>Alt-Shift</member><member>Down</member><member>Move desk area down</member>
640 <member>Alt-Shift</member><member>Up</member><member>- - - up</member>
641 <member>Alt-Shift</member><member>Left</member><member>- - - left</member>
642 <member>Alt-Shift</member><member>Right</member><member>- - - right</member>
643 <member>Alt</member><member>F1</member><member>Goto desk 0</member>
644 <member>Alt</member><member>F2</member><member>- - 1</member>
645 <member>Alt</member><member>F3</member><member>- - 2</member>
646 <member>Alt</member><member>F4</member><member>- - 3</member>
647 <member>Alt</member><member>F5</member><member>- - 4</member>
648 <member>Alt</member><member>F6</member><member>- - 5</member>
649 <member>Alt</member><member>F7</member><member>- - 6</member>
650 <member>Alt</member><member>F8</member><member>- - 7</member>
651 <member>Alt</member><member>Tab</member><member>Switch focus (using focus list, if enabled)</member>
652 <member>Alt-Ctrl</member><member>Up</member><member>Raise active window</member>
653 <member>Alt-Ctrl</member><member>Down</member><member>Lower active window</member>
654 <member>Alt-Ctrl</member><member>x</member><member>Close active window</member>
655 <member>Alt-Ctrl</member><member>k</member><member>Destroy active window</member>
656 <member>Alt-Ctrl</member><member>s</member><member>Toggle active window sticky state</member>
657 <member>Alt-Ctrl</member><member>i</member><member>Iconify active window</member>
658 <member>Alt-Ctrl</member><member>r</member><member>Toggle active window shaded state</member>
659 <member>Alt-Ctrl</member><member>f</member><member>Toggle active window fullscreen state</member>
660 <member>Alt-Ctrl</member><member>m</member><member>Toggle active window maximized state</member>
661 <member>Alt-Ctrl</member><member>w</member><member>Show window-ops menu for active window</member>
662 <member>Alt</member><member>Return</member><member>Toggle active window zoomed state</member>
663 <member>Ctrl-Shift</member><member>F1</member><member>Show User menu (default left mouse button)</member>
664 <member>Ctrl-Shift</member><member>F2</member><member>Show Enlightenment menu (default middle mouse button)</member>
665 <member>Ctrl-Shift</member><member>F3</member><member>Show Configuration menu (default right mouse button)</member>
666 <member>Ctrl-Shift</member><member>F4</member><member>Show Window List menu (default Alt-middle mouse button)</member>
667 <member>Alt-Ctrl</member><member>a</member><member>Toggle visibility of all buttons</member>
668 <member>Alt-Ctrl</member><member>b</member><member>Toggle visibility of theme buttons</member>
669 <member>Alt-Ctrl</member><member>c</member><member>Toggle visibility of configuration buttons</member>
670 <member>Alt-Ctrl</member><member>d</member><member>Switch dragbar position</member>
671 <member>Alt-Ctrl</member><member>o</member><member>Switch dragbar button ordering</member>
675 <sect1 id="sessionscripts">
676 <title>Session Scripts</title>
678 <application>Enlightenment</application> can now automatically run user scripts or applications during
679 Startup, Restart, and Shutdown. This facilitates the loading of system
680 tray applets, rss readers, screensavers, and other daemons (e.g. dbus),
681 and allows for cleanup of programs that don't terminate properly when <application>E</application>
682 quits (this is especially common with <application>KDE</application> applications in <application>E</application> and the arts
683 daemon or dcop server keeps running).
686 <application>Enlightenment</application> accomplishes this with the addition of two new keys in
687 the <filename>$ECONFDIR/e_config--#.#.cfg</filename> (#.# may vary depending on your X setup --
688 for most people, it will be 0.0). These are:
690 misc.session.enable_script
695 <varname>misc.session.enable_script</varname> is a boolean. When set to 1, <application>Enlightenment</application> will
696 execute the script in the <varname>misc.session.script</varname> key. By default, this feature
697 is disabled. When enabled, it will do nothing until the user configures
698 his/her home directory (<filename class="directory">$ECONFDIR</filename> -- normally <filename class="directory">~/.e16</filename>).
701 The default session.script is located in <filename>$EROOT/scripts/session.sh</filename> (<filename class="directory">$EROOT</filename>
702 is normally <filename class="directory">/usr/share/e16</filename> or <filename class="directory">/usr/local/share/e16</filename>). It will look for
703 directories in the user's <filename class="directory">$ECONFDIR/</filename> (<filename class="directory">~/.e16/</filename>) called:
710 and run any and/or all scripts or executables in each when <application>E</application> starts,
711 restarts, and shuts down. If no scripts or executables are present, or
712 if any of the directories <filename class="directory">Init</filename>, <filename class="directory">Start</filename>, and <filename class="directory">Stop</filename> do not exist, NOTHING
713 will happen and <application>E</application> will start up as usual. So, in order to use session
714 scripts, all the user has to do is to populate the <filename class="directory">Init</filename>, <filename class="directory">Start</filename>, and <filename class="directory">Stop</filename>
715 directories with scripts, applications, or links to applications that
716 should run during Startup, Restart, or when <application>E</application> is stopped.
719 The default values for the new keys are:
721 misc.session.enable_script = 0
722 misc.session.script = $EROOT/scripts/session.sh
726 The user may write a custom script and place it anywhere. Simply modify
727 the config file by using:
729 $ eesh set misc.session.script myscript
731 and modify it (be sure to <command>chmod +x</command> the file otherwise it won't run).
732 The session script is called with one of three command parameters;
733 <parameter class="command">init</parameter>, <parameter class="command">start</parameter>, and <parameter class="command">stop</parameter>. Any custom script should have a code block
734 similar to this in order to function properly in <application>Enlightenment</application>.
739 # or do function init
742 # of do function start
745 # or do function stop
750 Automatic script running can be enabled/disabled via the Session Settings
751 dialog in <application>Enlightenment</application> and checking/unchecking the option Enable Session
752 Script, by editing the user cfg file and setting the
753 <varname>misc.session.enable_script</varname> key to 1/0, or with
755 $ eesh set misc.session.enable_script 1/0
757 This process is very flexible since when used, the user can turn off
758 individual scripts and applications by <command>chmod -x</command> or simply leave the
759 startup directories empty or remove them.
762 <sect1 id="compositemanagernotes">
763 <title>Composite manager notes</title>
765 To use the composite manager it is required that the X-server has support
766 enabled for the COMPOSITE, DAMAGE, FIXES, and RENDER extensions.
767 For reasonable performance it is also required that hardware acceleration
768 of the RENDER extension is enabled.
771 As of version 0.16.8.2 it may happen that the borders on application windows
772 using ARGB visuals (for transparency) are "ugly". Applications may use ARGB
773 visuals intentionally (e.g. fdclock) or not (e.g. xv on 16 bit root depth).
774 Applications unintentionally using an ARGB visual will normally not be
775 rendered properly at all and should be started with the environment variable
776 <varname>XLIB_SKIP_ARGB_VISUALS</varname> set.
777 To fix border rendering on "real" ARGB windows it is required to use <filename>imlib2</filename>
778 with version >= 1.3.0.
784 As of e16 >= 0.16.8.9: If there is any kind of trouble with the composite
785 manager, first check <varname>compmgr.mode</varname> (<command>eesh show compmgr</command>), and set it to 1 if
786 it isn't (<command>eesh set compmgr.mode 1</command>, restart).
789 If pop-up windows disappear immediately after having appeared (may happen
790 e.g. with certain pop-up windows when using gnome > 2.12), try:
792 $ eesh set compmgr.override_redirect.mode 0
794 This should make the pop-up windows usable, but not always rendered properly.
795 This problem should not occur with recent X-servers.
798 If window resize/shading with composite enabled is ugly, try:
800 $ eesh set compmgr.resize_fix_enable 1
802 This problem should not occur with recent X-servers.
808 Theme font selection depends on a number of settings and whether or not
809 the theme has font alias support.
812 For themes with font alias support the fonts are determined by a font
813 configuration file. This file is selected as follows, first hit applies:
817 If <varname>theme.use_alt_font_cfg</varname> is set (default off) and the the file specified
818 by <varname>theme.font_cfg</varname> is found the fonts are determined by this file.
823 If <varname>theme.use_theme_font_cfg</varname> is set (default off) and the theme has a
824 <filename>fonts.theme.cfg</filename> the fonts are determined by the theme's <filename>fonts.theme.cfg</filename>.
829 If <application>e16</application> was built with <application>pango</application> support, look for <filename>fonts.pango.cfg</filename>.
834 If <application>e16</application> was built with <application>xft</application> support, look for <filename>fonts.xft.cfg</filename>.
839 Look for <filename>fonts.cfg</filename>.
845 The font configuration file search path is <filename class="directory">~/.e16, <theme-dir></filename>, and
846 <filename class="directory">/usr/share/e16/config</filename>.
847 Default <filename>fonts.pango.cfg</filename> and <filename>fonts.xft.cfg</filename> are provided in <filename class="directory">/usr/share/e16/config</filename>.
850 The default theme (winter) and the core themes (BlueSteel, BrushedMetal-Tigert,
851 Ganymede, and ShinyMetal) do have font alias support.
854 Don Harrop has made available a major number of <application>e16</application> themes which have been
855 modified for font alias support (<ulink url="http://themes.effx.us"><citetitle>themes.effx.us</citetitle></ulink>).
858 Other themes are likely to not have font alias support but in stead have font
859 references more or less scattered around in TextClass definitions in the theme
863 There are several ways to specify a font (in the font configuration file or
869 "<font name>/<size>", e.g. "Vera/8".
872 In this case <application>e16</application> must be able to find "Vera.ttf" in <filename class="directory"><theme dir>/ttfonts</filename> or
873 <filename class="directory">/usr/share/e16/fonts</filename>.
878 XLFD font sets, e.g. "-*-lucida-medium-r-normal-*-12-120-*-*-*-*-*-*,-*-gulim*-medium-r-normal-*-12-120-*-*-*-*-ksc5601.1987-*".
881 <application>xfontsel</application>, <application>xlsfonts</application>, and <application>xfd</application> can be used to select and show these fonts.
886 Fontconfig font names, prefixed by "xft:", e.g. "xft:Luxi Sans-10:bold".
889 <application>fc-list</application> and <application>xfd</application> can be used to select and show these fonts.
890 This possibility (Xft support) is available as of version 0.16.8.5.
895 Pango font names, prefixed by "pango:", e.g. "pango:sans bold 10".
898 This possibility (Pango support) is available as of version 0.16.8.9.
899 Pango support must be explicitly enabled at build time with <option>--enable-pango</option>.
904 <sect1 id="usinge16withgnome">
905 <title>Using e16 with GNOME</title>
907 Setting up <application>e16</application> as WM in a <application>GNOME</application> session unfortunately depends on the version
908 of <application>gnome-session</application>.
911 Recent versions of <application>gnome-session</application> seem to require that a gconf key is set
912 and that an <filename>e16.desktop</filename> file can be found:
914 $ gconftool-2 --set /desktop/gnome/session/required_components/windowmanager --type string e16
919 <filename>/usr/share/applications/e16.desktop</filename> (or <filename>~/.local/share/applications/e16.desktop</filename>):
925 Comment=The Enlightenment (e16) window manager
927 Icon=/usr/share/e16/misc/e16.png
931 The section below seems to be obsolete as of <application>gnome-session-2.2x(?)</application>
934 The <application>GNOME</application> desktop can be started using <application>e16</application> as WM with:
936 $ export WINDOW_MANAGER=e16
941 The section below is obsolete as of <application>gnome-session-2.16</application>
944 However, somewhere along the way the script <filename>/usr/bin/gnome-wm</filename> is called.
945 This is supposed to handle differences in all the different WM's out there,
946 but does not know of "<application>e16</application>". This will cause a major delay when starting up
947 the <application>GNOME</application> desktop.
948 One way to fix this is to use <property>gnome-session-properties</property> to get rid of
949 the "gnome-wm" session entry.
952 Another is to apply this patch to <filename>/usr/bin/gnome-wm</filename>:
954 --- /usr/bin/gnome-wm-org 2005-04-19 21:33:53.000000000 +0200
955 +++ /usr/bin/gnome-wm 2005-11-15 20:46:09.000000000 +0100
958 if [ ! -z "$SMID" ] ; then
959 case `basename $WINDOW_MANAGER` in
960 - sawfish|sawmill|metacity)
961 + sawfish|sawmill|metacity|e16)
962 OPT1=--sm-client-id=$SMID
968 <sect1 id="usinge16withkde">
969 <title>Using e16 with KDE</title>
971 The <application>KDE</application> desktop can be started using <application>e16</application> as WM with:
978 <sect1 id="majorchangesandnewfeaturesin0168">
979 <title>Major changes and new features in 0.16.8</title>
981 The following sections are only relevant for users upgrading from version 0.16.7
989 "enlightenment" has been renamed to "e16".
994 The default user configuration directory is "<filename class="directory">~/.e16</filename>".
999 The data install path is "<filename class="directory"><somepath>/e16</filename>", e.g. "<filename class="directory">/usr/share/e16</filename>".
1000 Thus, an <application>e16.8</application> installation should not clash with any other versions.
1005 Various configuration file formats have changed and should be easier
1006 to read and modify, if needed.
1011 The configuration is stored per display and per screen. E.g. for
1012 <varname>DISPLAY=:1.0</varname> the main configuration file is "<filename>~/.e16/e_config--1.0.cfg</filename>".
1017 Actions(used by menus, keybindings, etc.) and IPC functions(<application>eesh</application>) have
1023 Many IPC(<application>eesh</application>) commands have been changed, possibly breaking compatibility
1029 Window matches and icondefs have been merged (into <filename>matches.cfg</filename>), see below.
1039 Built-in composite manager.
1044 An iconbox can be configured to act as System Tray
1045 (<menuchoice><interface>middle mouse</interface><guimenu>Desktop</guimenu><guimenuitem>Create Systray</guimenuitem></menuchoice>).
1050 Possibility to run programs on startup, restart, and shutdown, see
1051 <link linkend="sessionscripts">"Session Scripts"</link> below.
1056 Possibility to track changes in remembered settings.
1061 Window operations by window matches (class, name, transient, ...),
1062 e.g. for making all windows of a certain type sticky, put it on a certain
1063 layer, etc. (see <filename>matches.cfg</filename>).
1069 0.16.8 should be compatible with most <application>e16</application> themes. However, user installed
1070 themes will have to be moved/linked to <filename class="directory">~/.e16/themes/</filename> or <filename class="directory"><datadir>/e16/themes/</filename>.
1071 A few themes will have to be tweaked to work with <application>e16.8</application>. The most likely
1072 problem is that configuration settings are included in .cfg files where they
1073 are no longer accepted.
1074 See the <link linkend="migratingfromversionsolderthan0168">"Migrating ..."</link> section below for additional information.
1077 <application>e16keyedit</application> >= 0.3 works with e16.8.
1080 If used to change the keybindings, the modified settings will be stored in
1081 <filename>~/.e16/bindings.cfg</filename>.
1082 It should also be fairly straightforward to modify the key- and buttonbindings
1083 by hand. Copy <filename>/usr/share/e16/config/bindings.cfg</filename> to <filename>~/.e16/bindings.cfg</filename> and
1087 NB! <application>e16keyedit</application> only modifies keybindings, not buttonbindings.
1090 NB!!! Do not rename <filename class="directory">~/.enlightenment</filename> to <filename class="directory">~/.e16</filename>. It will only cause trouble.
1093 <sect1 id="migratingfromversionsolderthan0168">
1094 <title>Migrating from versions older than 0.16.8</title>
1096 Users upgrading from enlightenment 0.16.7 need to read the following.
1099 Several organizational changes have occurred that will require
1100 some manual adjustments. Mainly these deal with changes to
1101 configuration and shared directory names. This was done to avoid
1102 collisions with the new enlightenment DR17.
1106 home configuration directory is now <filename class="directory">~/.e16</filename>, not <filename class="directory">~/.enlightenment</filename>.
1111 menu files have been moved to a subdirectory called menus
1112 you will need to move customized menus and subdirectories to
1113 <filename class="directory">~/.e16/menus</filename>.
1118 you will need to move <filename class="directory">~/.enlightenment/backgrounds</filename> files to <filename class="directory">~/.e16</filename>
1119 and any themes as well.
1124 <filename class="directory">$prefix/share/enlightenment</filename> has been changed to <filename class="directory">$prefix/share/e16</filename>
1129 if installed E-docs and Epplet directories will have to be moved
1130 to <filename class="directory">$prefix/share/e16</filename>
1135 any additional themes that were added to the <filename class="directory">$prefix/share/enlightenment</filename>
1136 directory will have to be moved to <filename class="directory">$prefix/share/e16</filename>
1141 any startup scripts or Session scripts that reference the startup
1142 executable `<command>enlightenment</command>` must be edited to the new <command>e16</command> program.
1148 A few themes have to be tweaked to work with 0.16.8.
1151 Some themes (Maw, Black E) have an <filename>actionclasses.cfg</filename> like:
1154 #include <definitions>
1156 #include </usr/local/enlightenment/config/actionclasses.cfg>
1157 #include </usr/share/enlightenment/config/actionclasses.cfg>
1160 The absolute path is obviously no longer valid.
1161 The most sensible fix for these themes is to remove the themes
1162 <filename>actionclasses.cfg</filename>. <application>e16</application> will then fall back to the default one.
1165 <sect1 id="resources">
1166 <title>Resources</title>
1168 The e16-docs package is somewhat dated but still contains much relevant
1169 information about using e16.
1173 Enlightenment web site:
1177 <ulink url="http://www.enlightenment.org"><citetitle>www.enlightenment.org</citetitle></ulink>
1187 <ulink url="http://sourceforge.net/mail/?group_id=2"><citetitle>sourceforge.net/mail</citetitle></ulink>
1211 <revnumber>33</revnumber>
1212 <date>Apr 19, 2009</date>
1213 <authorinitials>Yasufumi Haga</authorinitials>
1215 rename README-0.16.8.xml to README.xml
1219 <revnumber>32</revnumber>
1220 <date>Jan 25, 2009</date>
1221 <authorinitials>Yasufumi Haga</authorinitials>
1223 Add html version converted from README-0.16.8.xml
1224 rewritten by Yasufumi Haga based on the ascii version of the file.
1228 <revnumber>1-31</revnumber>
1229 <date>2004-2009</date>
1230 <authorinitials>Several</authorinitials>
1236 <revnumber>0</revnumber>
1237 <date>Dec 30, 2004</date>
1238 <authorinitials>Peter Hyman</authorinitials>
1240 Notes on migrating to 0.16.8