chiark / gitweb /
Imported Upstream version 1.0.0
[e16] / docs / README
1
2 About Enlightenment e16
3 =======================
4
5 Credits
6 -------
7 This note contains contributions by
8 - Kim Woelders
9 - Peter Hyman (pete4abw@comcast.net)
10 - Yasufumi Haga (yasufumi.haga@nifty.com)
11
12
13 Contents
14 --------
15 - Requirements
16 - Installation
17 - Versions
18 - Configuration
19 - Configuration files
20 - Default keybindings
21 - Session Scripts
22 - Composite manager notes
23 - Fonts
24 - Using e16 with GNOME
25 - Using e16 with KDE
26 - Migrating from versions older than 0.16.8
27 - Resources
28
29
30 Requirements
31 ------------
32
33 imlib2 >= 1.2.0 is required, >= 1.4.2 is recommended.
34 imlib2 must be built with png support.
35
36
37 Installation
38 ------------
39
40 ./configure
41 make
42 sudo make install
43
44 For additional help on package configuration, see
45 ./configure --help
46
47
48 Versions
49 --------
50
51 e16-1.0.0:
52             No major changes, might as well have been 0.16.8.16.
53
54 e16-0.16.8: Released Feb 2006
55             enlightenment -> e16
56             Major internal rewrite
57             Changed configuration system
58             Added compositing manager
59
60 enlightenment-0.16.7: Released Jul 2004
61                       Migrated to imlib2
62
63 enlightenment-0.16.6: Released Nov 2003
64                       Added extended window manager hint support
65
66 enlightenment-0.16.5: Released Oct 2000
67
68 enlightenment-0.16.0: Released Oct 1999
69
70
71 Configuration
72 -------------
73
74 All settings can be shown and set using eesh.
75
76 To get a full list of settings:
77 $ eesh show
78
79 To set some parameter:
80 $ eesh set <parameter> <value>
81 Some settings will not be effective until E is restarted.
82
83 To get a list of all eesh commands:
84 $ eesh help full
85
86 The available configuration options are shown below. Values are the defaults.
87
88 # [bool] High quality background rendering
89 backgrounds.hiquality = 1
90 # [bool] Prefer user selected backgrounds over theme settings
91 backgrounds.user = 1
92 # [bool] Do not scan all backgrounds when starting background configuration dialog
93 backgrounds.no_scan = 0
94 # [int] Time out for unused background image pixmaps
95 backgrounds.timeout = 240
96
97 # [bool] Enable composite manager
98 compmgr.enable = 0
99 # [int] Composite manager mode (always 1 atm)
100 compmgr.mode = 1
101 # [int] Dropshadow mode (0: off, 1: sharp, 2: blurry, 3: echo)
102 compmgr.shadows.mode = 0
103 # [int] Dropshadow offset
104 compmgr.shadows.offset_x = 3
105 compmgr.shadows.offset_y = 5
106 # [int] Blurry dropshadow radius
107 compmgr.shadows.blur.radius = 5
108 # [int] Blurry dropshadow opacity(%)
109 compmgr.shadows.blur.opacity = 75
110 # [int] Sharp dropshadow opacity(%)
111 compmgr.shadows.sharp.opacity = 30
112 # [int] Shadow color (0xRRGGBB)
113 compmgr.shadows.color = 0
114 # [bool] Hack to fix problems with resize on old xorg servers
115 compmgr.resize_fix_enable = 0
116 # [bool] Experimental - leave at 0
117 compmgr.use_name_pixmap = 0
118 # [bool] Use composite overlay window
119 compmgr.use_cow = 1
120 # [bool] Enable fading
121 compmgr.fading.enable = 1
122 # [int] Fading time(ms)
123 compmgr.fading.time = 200
124 # [int] Composite redirection of override-redirect windows (0: off, 1: on map, ...: testing)
125 # Should normally be 1 but 0 may be a partial workaround of problems with vanishing
126 # pop-ups on certain X-server/toolkit versions.
127 compmgr.override_redirect.mode = 1
128 # [int] Opacity of override-redirect windows (pop-up's, etc)
129 compmgr.override_redirect.opacity = 90
130
131 # [int] Number of desktops
132 desktops.num = 2
133 # [int] Desktop dragging direction
134 desktops.dragdir = 2
135 # [int] Desktop dragbar width (0: disable)
136 desktops.dragbar_width = 16
137 # [int] Desktop dragbar length (0: full)
138 desktops.dragbar_length = 0
139 # [int] Desktop dragbar button ordering
140 desktops.dragbar_ordering = 1
141 # [bool] Wrap around on desk switch (last <-> first on next/prev)
142 desktops.desks_wraparound = 0
143 # [bool] Slide desks in when switching
144 desktops.slidein = 1
145 # [int] Desk slide speed
146 desktops.slidespeed = 6000
147 # [int] Size of virtual desktop
148 desktops.areas_nx = 2
149 desktops.areas_ny = 1
150 # [bool] Wrap around on area switch (last <-> first on next/prev)
151 desktops.areas_wraparound = 0
152 # [int] Edge flip mode (0: off, 1: on, 2: only when moving window)
153 desktops.edge_flip_mode = 1
154 # [int] Edge flip resistance(pixels)
155 desktops.edge_flip_resistance = 25
156
157 # [bool] Enable ripples effect
158 effects.ripples.enabled = 0
159 # [bool] Enable waves effect
160 effects.waves.enabled = 0
161
162 # [int] Focus mode (0: pointer, 1: sloppy, 2: click)
163 focus.mode = 1
164 # [bool] Raise window when clicked
165 focus.clickraises = 1
166 # [bool] Transients are placed where leader is
167 focus.transientsfollowleader = 1
168 # [bool] When a transient is mapped the desk/area is switched to where the transient appears
169 focus.switchfortransientmap = 1
170 # [bool] Focus new windows
171 focus.all_new_windows_get_focus = 0
172 # [bool] Focus new transients
173 focus.new_transients_get_focus = 0
174 # [bool] Focus new transients if group is focused
175 focus.new_transients_get_focus_if_group_focused = 1
176 # [bool] Raise window on focus next
177 focus.raise_on_next = 1
178 # [bool] Warp pointer to window on focus next
179 focus.warp_on_next = 0
180 # [bool] Always warp pointer into window when new window is focused
181 focus.warp_always = 0
182 # [bool] Enable autoraise
183 focus.autoraise.enable = 0
184 # [int] Autoraise delay(ms)
185 focus.autoraise.delay = 500
186
187 # [bool] Default group settings
188 groups.dflt.iconify = 1
189 groups.dflt.kill = 0
190 groups.dflt.move = 1
191 groups.dflt.raise = 0
192 groups.dflt.set_border = 1
193 groups.dflt.stick = 1
194 groups.dflt.shade = 1
195 groups.swapmove = 1
196
197 # [int] Iconbox animation time(ms)
198 iconboxes.anim_time = 250
199
200 # [string] Language used by e16 (dialogs, tooltips, etc.)
201 # Inherit from environment if not set
202 locale.internal = 
203 # [string] Language exported when starting applications
204 # Inherit from environment if not set
205 locale.exported = 
206
207 # [bool] Animate menus
208 menus.animate = 0
209 # [bool] Keep menus on-screen
210 menus.onscreen = 1
211 # [bool] Warp pointer when sliding menus
212 menus.warp = 1
213 # [bool] Enable icons in menus
214 menus.show_icons = 1
215 # [int] Menu icon size(pixels)
216 menus.icon_size = 16
217 # [int] Menu navigation keycodes
218 menus.key.left = 0xff51
219 menus.key.right = 0xff53
220 menus.key.up = 0xff52
221 menus.key.down = 0xff54
222 menus.key.escape = 0xff1b
223 menus.key.ret = 0xff0d
224
225 # [int] Animation time step(ms)
226 misc.animation.step = 10
227
228 # [int] Button move resistance(pixels)
229 misc.buttons.move_resistance = 10
230
231 # [bool] Show headers in dialogs
232 misc.dialogs.headers = 0
233 # [bool] Enable images on dialog buttons
234 misc.dialogs.button_image = 0
235
236 # [bool] Enable docking of dockapps
237 misc.dock.enable = 1
238 # [bool] Make all dockapps sticky
239 misc.dock.sticky = 1
240 # [int] Dock direction
241 misc.dock.dirmode = 3
242 # [int] Dock start position
243 misc.dock.startx = 0
244 misc.dock.starty = 0
245
246 # [bool] Enable desktop background compatibility mode
247 # Fixes background in many apps using pseudotransparency
248 # May cause major slowdowns in certain setups
249 misc.hints.set_xroot_info_on_root_window = 0
250
251 # [int] Move mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid, 5: translucent)
252 misc.movres.mode_move = 0
253 # [int] Resize mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid)
254 misc.movres.mode_resize = 2
255 # [int] Geometry indicator mode (0: off, 1: window center, 2: screen corner)
256 misc.movres.mode_info = 1
257 # [int] Default maximize mode (0: Absolute, 1: Available, 2: Conservative)
258 misc.movres.mode_maximize_default = 1
259 # [int] Move/resize color (RGB) when using non-server-grabbing technincal/box modes.
260 misc.movres.color = 0xff0000
261 # [bool] Avoid server grab
262 # Use non-server-grabbing line drawing technique in technical and box modes.
263 misc.movres.avoid_server_grab = 1
264 # [bool] Send synthetic ConfigureNotify's while moving
265 # Causes pseudotransparent apps to update while moving (expensive)
266 misc.movres.update_while_moving = 0
267 # [bool] Use SYNC_REQUEST's to synchronize move/resize with client
268 misc.movres.enable_sync_request = 0
269 # [bool] Do not cover dragbar when maximizing
270 misc.movres.dragbar_nocover = 0
271
272 # [int] Composite opacity of menu windows
273 misc.opacity.menus = 85
274 # [int] Composite opacity of windows being moved
275 misc.opacity.movres = 60
276 # [int] Composite opacity of tooltip windows
277 misc.opacity.tooltips = 80
278 # [int] Composite opacity of focused windows
279 misc.opacity.focused = 100
280 # [int] Composite opacity of unfocused windows
281 misc.opacity.unfocused = 100
282
283 # [bool] Place windows manually
284 misc.place.manual = 0
285 # [bool] Place windows under pointer
286 misc.place.manual_mouse_pointer = 0
287 # [bool] Center windows when desk is full
288 misc.place.center_if_desk_full = 0
289 # [bool] Ignore windows with struts (e.g. panels) when placing new window
290 misc.place.ignore_struts = 0
291 # [bool] Raise fullscreen windows (increase stacking level while fullscreen)
292 misc.place.raise_fullscreen = 0
293 # [bool] Slide windows in
294 misc.place.slidein = 0
295 # [bool] Slide windows around while cleaning up
296 misc.place.cleanupslide = 1
297 # [int] Window slide-in mode (0: opaque, 1: technical, 2: box, 3: shaded, 4: semi-solid)
298 misc.place.slidemode = 0
299 # [int] Window slide-in speed
300 misc.place.slidespeedmap = 6000
301 # [int] Window cleanup slidespeed
302 misc.place.slidespeedcleanup = 8000
303
304 # [bool] Enable session scripts
305 misc.session.enable_script = 0
306 # [string] Session script
307 misc.session.script = $EROOT/scripts/session.sh
308 # [bool] Enable logout dialog
309 misc.session.enable_logout_dialog = 1
310 # [bool] Enable reboot/halt in logout dialog
311 misc.session.enable_reboot_halt = 0
312 # [string] Reboot command
313 misc.session.cmd_reboot = reboot
314 # [string] Halt command
315 misc.session.cmd_halt = poweroff
316
317 # [bool] Enable animation of window shading
318 misc.shading.animate = 1
319 # [int] Shading speed
320 misc.shading.speed = 8000
321
322 # [bool] Enable resistance when moving windows
323 misc.snap.enable = 1
324 # [int] Resistance at other window edge
325 misc.snap.edge_snap_dist = 8
326 # [int] Resistance at screen edge
327 misc.snap.screen_snap_dist = 32
328
329 # [bool] First time flag
330 misc.startup.firsttime = 0
331 # [bool] Enable sliding startup windows
332 misc.startup.animate = 1
333
334 # [bool] Test options (do not change)
335 misc.testing.argb_internal_objects = 0
336 misc.testing.argb_internal_clients = 0
337 misc.testing.argb_clients = 0
338 misc.testing.argb_clients_inherit_attr = 0
339 misc.testing.image_cache_size = -1
340 misc.testing.mask_alpha_threshold = 8
341 misc.testing.enable_startup_id = 1
342 misc.testing.use_render_for_scaling = 0
343 misc.testing.bindings_reload = 1
344 misc.testing.no_sync_mask = 0
345
346 # [bool] Save configuration changes
347 misc.autosave = 1
348 # [bool] Keep memory usage down (should probably always be 1)
349 misc.memory_paranoia = 1
350 # [bool] Use save-unders when appropriate
351 misc.save_under = 0
352 # [bool] Show differential time in debug output
353 misc.difftime = 0
354
355 # [bool] Enable pagers
356 pagers.enable = 1
357 # [bool] Enable zooming of pager snapshot windows
358 pagers.zoom = 1
359 # [bool] Show window name pop-ups
360 pagers.title = 1
361 # [bool] Enable high quality snapshots
362 pagers.hiq = 1
363 # [int] Pager mode (0: simple, 1: snap, 2: live)
364 pagers.mode = 2
365 # [int] Scan/update speed (lines/updates per second. Used only in snap or live mode)
366 pagers.scanspeed = 10
367 # [int] Pager buttons
368 pagers.sel_button = 2
369 pagers.win_button = 1
370 pagers.menu_button = 3
371
372 # [bool] Enable sound
373 sound.enable = 0
374 # [string] Use sounds from theme
375 sound.theme = 
376 # [int] Bits masks for disabling particular sounds
377 sound.mask1 = 0
378 sound.mask2 = 0
379
380 # [string] Theme
381 theme.name = winter
382 # [string] Colon separated list of directories containing e16 themes
383 theme.extra_path = 
384 # [bool] Use font specified by theme
385 theme.use_theme_font_cfg = 0
386 # [bool] Use alternative font configuration file (specified by theme.font_cfg)
387 theme.use_alt_font_cfg = 0
388 # [string] Alternative font configuration file
389 theme.font_cfg = 
390
391 # [bool] Enable tooltips
392 tooltips.enable = 1
393 # [bool] Enable root window tooltips
394 tooltips.showroottooltip = 1
395 # [int] Tooltip delay
396 tooltips.delay = 1500
397
398 # [int] Theme transparency(0-255)
399 transparency.alpha = 0
400 # [int] Item transparencies (0: off, 1: background, 2: glass)
401 transparency.menu = 1
402 transparency.menu_item = 1
403 transparency.tooltip = 2
404 transparency.widget = 1
405 transparency.hilight = 0
406 transparency.border = 1
407 transparency.iconbox = 1
408 transparency.dialog = 1
409 transparency.pager = 1
410 transparency.warplist = 1
411
412 # [bool] Enable focus list (alt-tab)
413 warplist.enable = 1
414 # [bool] Show sticky windows
415 warplist.showsticky = 1
416 # [bool] Show shaded windows
417 warplist.showshaded = 1
418 # [bool] Show iconified windows
419 warplist.showiconified = 1
420 # [bool] Show windows on all desks
421 warplist.showalldesks = 0
422 # [bool] Warp pointer to focused window
423 warplist.warpfocused = 1
424 # [bool] Raise window while selecting
425 warplist.raise_on_select = 1
426 # [bool] Warp pointer to window while selecting
427 warplist.warp_on_select = 0
428 # [bool] Icon mode (0: none, 3: e/app/snap, 4: app/e/snap)
429 warplist.icon_mode = 3
430
431
432 Configuration files
433 -------------------
434 Skip this section unless you *really* want to know...
435
436 It is here assumed that --prefix is /usr, and that the default user
437 configuration directory (~/.e16) is used.
438
439 In general, the configuration search order for theme related configuration
440 files, say xyz.cfg, is:
441 1) User configuration directory, i.e. ~/.e16/xyz.cfg.
442 2) Theme directory, i.e. /usr/share/e16/themes/<theme>/xyz.cfg, or
443    ~/.e16/themes/<theme>/xyz.cfg.
444 3) Default configuration directory, i.e. /usr/share/e16/config/xyz.cfg.
445
446 Mouse and keybindings are defined in bindings.cfg. bindings.cfg is searched in
447 1) User configuration directory, i.e. ~/.e16/bindings.cfg.
448 2) Default configuration directory, i.e. /usr/share/e16/config/bindings.cfg.
449
450 Window matches (border and icon associations) are defined in windowmatches.cfg
451 and matches.cfg.
452 windowmatches.cfg (deprecated, border associations only) is loaded first,
453 and should be found only in theme directories.
454 matches.cfg is loaded next, and searched in
455 1) User configuration directory, i.e. ~/.e16/matches.cfg.
456 2) Default configuration directory, i.e. /usr/share/e16/config/matches.cfg.
457 Window match items are appended to the window match list, in the order
458 in which they are read from the configuration files.
459 When doing border/icon matches, the window match list is searched from the
460 start, and the first matching item will be used.
461
462
463 Default keybindings
464 -------------------
465
466 Alt-Ctrl   Home         Auto-arrange windows
467 Alt-Ctrl   Insert       Launch Eterm
468 Alt-Ctrl   Delete       Log out
469 Alt-Ctrl   End          Exit
470 Alt-Ctrl   Right        Goto next desk
471 Alt-Ctrl   Left         Goto previous desk
472 Alt-Shift  Down         Move desk area down
473 Alt-Shift  Up            -    -    -   up
474 Alt-Shift  Left          -    -    -   left
475 Alt-Shift  Right         -    -    -   right
476 Alt        F1           Goto desk 0
477 Alt        F2            -    -   1
478 Alt        F3            -    -   2
479 Alt        F4            -    -   3
480 Alt        F5            -    -   4
481 Alt        F6            -    -   5
482 Alt        F7            -    -   6
483 Alt        F8            -    -   7
484 Alt        Tab          Switch focus (using focus list, if enabled)
485 Alt-Ctrl   Up           Raise active window
486 Alt-Ctrl   Down         Lower active window
487 Alt-Ctrl   x            Close active window
488 Alt-Ctrl   k            Destroy active window
489 Alt-Ctrl   s            Toggle active window sticky state
490 Alt-Ctrl   i            Iconify active window
491 Alt-Ctrl   r            Toggle active window shaded state
492 Alt-Ctrl   f            Toggle active window fullscreen state
493 Alt-Ctrl   m            Toggle active window maximized state
494 Alt-Ctrl   w            Show window-ops menu for active window
495 Alt        Return       Toggle active window zoomed state
496 Ctrl-Shift F1           Show User menu          (default left mouse button)
497 Ctrl-Shift F2           Show Enlightenment menu (default middle mouse button)
498 Ctrl-Shift F3           Show Configuration menu (default right mouse button)
499 Ctrl-Shift F4           Show Window List menu   (default Alt-middle mouse button)
500
501 Alt-Ctrl   a            Toggle visibility of all buttons
502 Alt-Ctrl   b            Toggle visibility of theme buttons
503 Alt-Ctrl   c            Toggle visibility of configuration buttons
504 Alt-Ctrl   d            Switch dragbar position
505 Alt-Ctrl   o            Switch dragbar button ordering
506
507
508 Session Scripts
509 ---------------
510 Enlightenment can now automatically run user scripts or applications during
511 Startup, Restart, and Shutdown. This facilitates the loading of system
512 tray applets, rss readers, screensavers, and other daemons (e.g. dbus),
513 and allows for cleanup of programs that don't terminate properly when E
514 quits (this is especially common with KDE applications in E and the arts
515 daemon or dcop server keeps running).
516
517 Enlightenment accomplishes this with the addition of two new keys in
518 the $ECONFDIR/e_config--#.#.cfg (#.# may vary depending on your X setup -- 
519 for most people, it will be 0.0). These are:
520
521 misc.session.enable_script 
522 misc.session.script 
523
524 misc.session.enable_script is a boolean. When set to 1, Enlightenment will 
525 execute the script in the misc.session.script key. By default, this feature 
526 is disabled. When enabled, it will do nothing until the user configures
527 his/her home directory ($ECONFDIR -- normally ~/.e16).
528
529 The default session.script is located in $EROOT/scripts/session.sh ($EROOT
530 is normally /usr/share/e16 or /usr/local/share/e16). It will look for 
531 directories in the user's $ECONFDIR/ (~/.e16/) called:
532
533 ~/.e16/ ($ECONFDIR)
534         Init/
535         Start/
536         Stop/
537
538 and run any and/or all scripts or executables in each when E starts, 
539 restarts, and shuts down. If no scripts or executables are present, or
540 if any of the directories Init, Start, and Stop do not exist, NOTHING
541 will happen and E will start up as usual. So, in order to use session
542 scripts, all the user has to do is to populate the Init, Start, and Stop
543 directories with scripts, applications, or links to applications that
544 should run during Startup, Restart, or when E is stopped.
545
546 The default values for the new keys are:
547
548 misc.session.enable_script = 0
549 misc.session.script = $EROOT/scripts/session.sh
550
551 The user may write a custom script and place it anywhere. Simply modify 
552 the config file by using:
553
554 $ eesh set misc.session.script myscript
555
556 and modify it (be sure to chmod +x the file otherwise it won't run). 
557 The session script is called with one of three command parameters; 
558 init, start, and stop. Any custom script should have a code block 
559 similar to this in order to function properly in Enlightenment.
560
561 case "$1" in
562 init)
563         # do blah
564         # or do function init
565 start)
566         # do blah
567         # of do function start
568 stop)
569         # do blah
570         # or do function stop
571 esac
572
573 Automatic script running can be enabled/disabled via the Session Settings
574 dialog in Enlightenment and checking/unchecking the option Enable Session
575 Script, by editing the user cfg file and setting the
576 misc.session.enable_script key to 1/0, or with
577
578 $ eesh set misc.session.enable_script 1/0
579
580 This process is very flexible since when used, the user can turn off
581 individual scripts and applications by chmod -x or simply leave the
582 startup directories empty or remove them.
583
584
585 Composite manager notes
586 -----------------------
587
588 To use the composite manager it is required that the X-server has support
589 enabled for the COMPOSITE, DAMAGE, FIXES, and RENDER extensions.
590 For reasonable performance it is also required that hardware acceleration
591 of the RENDER extension is enabled.
592
593 As of version 0.16.8.2 it may happen that the borders on application windows
594 using ARGB visuals (for transparency) are "ugly". Applications may use ARGB
595 visuals intentionally (e.g. fdclock) or not (e.g. xv on 16 bit root depth).
596 Applications unintentionally using an ARGB visual will normally not be
597 rendered properly at all and should be started with the environment variable
598 XLIB_SKIP_ARGB_VISUALS set.
599 To fix border rendering on "real" ARGB windows it is required to use imlib2
600 with version >= 1.3.0.
601
602 Tweaks:
603
604 As of e16 >= 0.16.8.9: If there is any kind of trouble with the composite
605 manager, first check compmgr.mode (eesh show compmgr), and set it to 1 if
606 it isn't (eesh set compmgr.mode 1, restart).
607
608 If pop-up windows disappear immediately after having appeared (may happen
609 e.g. with certain pop-up windows when using gnome > 2.12), try:
610 $ eesh set compmgr.override_redirect.mode 0
611 This should make the pop-up windows usable, but not always rendered properly.
612 This problem should not occur with recent X-servers.
613
614 If window resize/shading with composite enabled is ugly, try:
615 $ eesh set compmgr.resize_fix_enable 1
616 This problem should not occur with recent X-servers.
617
618
619 Fonts
620 -----
621 Theme font selection depends on a number of settings and whether or not
622 the theme has font alias support.
623
624 For themes with font alias support the fonts are determined by a font
625 configuration file. This file is selected as follows, first hit applies:
626
627 - If theme.use_alt_font_cfg is set (default off) and the the file specified
628   by theme.font_cfg is found the fonts are determined by this file.
629
630 - If theme.use_theme_font_cfg is set (default off) and the theme has a
631   fonts.theme.cfg the fonts are determined by the theme's fonts.theme.cfg.
632
633 - If e16 was built with pango support, look for fonts.pango.cfg.
634
635 - If e16 was built with xft support, look for fonts.xft.cfg.
636
637 - Look for fonts.cfg.
638
639 The font configuration file search path is ~/.e16, <theme-dir>, and
640 /usr/share/e16/config.
641 Default fonts.pango.cfg and fonts.xft.cfg are provided in /usr/share/e16/config.
642
643 The default theme (winter) and the core themes (BlueSteel, BrushedMetal-Tigert,
644 Ganymede, and ShinyMetal) do have font alias support.
645
646 Don Harrop has made available a major number of e16 themes which have been
647 modified for font alias support (http://themes.effx.us).
648
649 Other themes are likely to not have font alias support but in stead have font
650 references more or less scattered around in TextClass definitions in the theme
651 configuration files.
652
653 There are several ways to specify a font (in the font configuration file or
654 in TextClasses):
655
656 - "<font name>/<size>", e.g. "Vera/8".
657   In this case e16 must be able to find "Vera.ttf" in <theme dir>/ttfonts or
658   /usr/share/e16/fonts.
659
660 - XLFD font sets, e.g. "-*-lucida-medium-r-normal-*-12-120-*-*-*-*-*-*,-*-gulim*-medium-r-normal-*-12-120-*-*-*-*-ksc5601.1987-*".
661   xfontsel, xlsfonts, and xfd can be used to select and show these fonts.
662
663 - Fontconfig font names, prefixed by "xft:", e.g. "xft:Luxi Sans-10:bold".
664   fc-list and xfd can be used to select and show these fonts.
665   This possibility (Xft support) is available as of version 0.16.8.5.
666
667 - Pango font names, prefixed by "pango:", e.g. "pango:sans bold 10".
668   This possibility (Pango support) is available as of version 0.16.8.9.
669   Pango support must be explicitly enabled at build time with --enable-pango.
670
671
672 Using e16 with GNOME
673 --------------------
674 Setting up e16 as WM in a GNOME session unfortunately depends on the version
675 of gnome-session.
676
677 Recent versions of gnome-session seem to require that a gconf key is set
678 and that an e16.desktop file can be found:
679
680 $ gconftool-2 --set /desktop/gnome/session/required_components/windowmanager --type string e16
681 $ gnome-sesssion
682
683 /usr/share/applications/e16.desktop (or ~/.local/share/applications/e16.desktop):
684 [Desktop Entry]
685 Encoding=UTF-8
686 Type=Application
687 Name=E16
688 Comment=The Enlightenment (e16) window manager
689 Exec=e16
690 Icon=/usr/share/e16/misc/e16.png
691
692
693 The section below seems to be obsolete as of gnome-session-2.2x(?)
694
695 The GNOME desktop can be started using e16 as WM with:
696
697 $ export WINDOW_MANAGER=e16
698 $ gnome-sesssion
699
700
701 The section below is obsolete as of gnome-session-2.16
702
703 However, somewhere along the way the script /usr/bin/gnome-wm is called.
704 This is supposed to handle differences in all the different WM's out there,
705 but does not know of "e16". This will cause a major delay when starting up
706 the GNOME desktop.
707 One way to fix this is to use gnome-session-properties to get rid of
708 the "gnome-wm" session entry.
709 Another is to apply this patch to /usr/bin/gnome-wm:
710
711 --- /usr/bin/gnome-wm-org       2005-04-19 21:33:53.000000000 +0200
712 +++ /usr/bin/gnome-wm   2005-11-15 20:46:09.000000000 +0100
713 @@ -69,7 +69,7 @@
714  OPT2=
715  if [ ! -z "$SMID" ] ; then
716    case `basename $WINDOW_MANAGER` in
717 -    sawfish|sawmill|metacity)
718 +    sawfish|sawmill|metacity|e16)
719        OPT1=--sm-client-id=$SMID
720        ;;
721      openbox)
722
723
724 Using e16 with KDE
725 ------------------
726
727 The KDE desktop can be started using e16 as WM with:
728
729 $ export KDEWM=e16
730 $ startkde
731
732
733 Major changes and new features in 0.16.8
734 ----------------------------------------
735
736 The following sections are only relevant for users upgrading from version 0.16.7
737 or older.
738
739 Changes:
740 - "enlightenment" has been renamed to "e16".
741 - The default user configuration directory is "~/.e16".
742 - The data install path is "<somepath>/e16", e.g. "/usr/share/e16".
743 Thus, an e16.8 installation should not clash with any other versions.
744 - Various configuration file formats have changed and should be easier
745   to read and modify, if needed.
746 - The configuration is stored per display and per screen.  E.g. for
747   DISPLAY=:1.0 the main configuration file is "~/.e16/e_config--1.0.cfg".
748 - Actions(used by menus, keybindings, etc.) and IPC functions(eesh) have
749   been merged.
750 - Many IPC(eesh) commands have been changed, possibly breaking compatibility
751   with a few epplets.
752 - Window matches and icondefs have been merged (into matches.cfg), see below.
753
754 New features:
755 - Built-in composite manager.
756 - An iconbox can be configured to act as System Tray
757   (middle mouse->Desktop->Create Systray).
758 - Possibility to run programs on startup, restart, and shutdown, see
759   "Session Scripts" below.
760 - Possibility to track changes in remembered settings.
761 - Window operations by window matches (class, name, transient, ...),
762   e.g. for making all windows of a certain type sticky, put it on a certain
763   layer, etc. (see matches.cfg).
764
765 0.16.8 should be compatible with most e16 themes. However, user installed
766 themes will have to be moved/linked to ~/.e16/themes/ or <datadir>/e16/themes/.
767 A few themes will have to be tweaked to work with e16.8. The most likely
768 problem is that configuration settings are included in .cfg files where they
769 are no longer accepted.
770 See the "Migrating ..." section below for additional information.
771
772 e16keyedit >= 0.3 works with e16.8.
773 If used to change the keybindings, the modified settings will be stored in
774 ~/.e16/bindings.cfg.
775 It should also be fairly straightforward to modify the key- and buttonbindings
776 by hand. Copy /usr/share/e16/config/bindings.cfg to ~/.e16/bindings.cfg and
777 modify as desired.
778 NB! e16keyedit only modifies keybindings, not buttonbindings.
779
780 NB!!! Do not rename ~/.enlightenment to ~/.e16. It will only cause trouble.
781
782 Migrating from versions older than 0.16.8
783 -----------------------------------------
784
785 Users upgrading from enlightenment 0.16.7 need to read the following.
786
787 Several organizational changes have occurred that will require
788 some manual adjustments. Mainly these deal with changes to 
789 configuration and shared directory names. This was done to avoid
790 collisions with the new enlightenment DR17.
791
792 1) home configuration directory is now ~/.e16, not ~/.enlightenment.
793 2) menu files have been moved to a subdirectory called menus
794    you will need to move customized menus and subdirectories to
795    ~/.e16/menus.
796 3) you will need to move ~/.enlightenment/backgrounds files to ~/.e16
797    and any themes as well.
798 4) $prefix/share/enlightenment has been changed to $prefix/share/e16
799 5) if installed E-docs and Epplet directories will have to be moved 
800    to $prefix/share/e16
801 6) any additional themes that were added to the $prefix/share/enlightenment
802    directory will have to be moved to $prefix/share/e16
803 7) any startup scripts or Session scripts that reference the startup
804    executable `enlightenment` must be edited to the new e16 program.
805
806
807 A few themes have to be tweaked to work with 0.16.8.
808
809 Some themes (Maw, Black E) have an actionclasses.cfg like:
810
811 #include <definitions>
812 __E_CFG_VERSION 0
813 #include </usr/local/enlightenment/config/actionclasses.cfg>
814 #include </usr/share/enlightenment/config/actionclasses.cfg>
815
816 The absolute path is obviously no longer valid.
817 The most sensible fix for these themes is to remove the themes
818 actionclasses.cfg. e16 will then fall back to the default one.
819
820
821 Resources
822 ---------
823
824 The e16-docs package is somewhat dated but still contains much relevant
825 information about using e16.
826
827 Enlightenment web site:
828 http://www.enlightenment.org
829
830 Mailing lists:
831 http://sourceforge.net/mail/?group_id=2
832
833 IRC:
834 #e on freenode