File: README

package info (click to toggle)
e16 1.0.0-4
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,884 kB
  • ctags: 6,655
  • sloc: ansic: 70,548; sh: 9,928; xml: 2,606; perl: 479; makefile: 394; sed: 16
file content (834 lines) | stat: -rw-r--r-- 27,853 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834

About Enlightenment e16
=======================

Credits
-------
This note contains contributions by
- Kim Woelders
- Peter Hyman (pete4abw@comcast.net)
- Yasufumi Haga (yasufumi.haga@nifty.com)


Contents
--------
- Requirements
- Installation
- Versions
- Configuration
- Configuration files
- Default keybindings
- Session Scripts
- Composite manager notes
- Fonts
- Using e16 with GNOME
- Using e16 with KDE
- Migrating from versions older than 0.16.8
- Resources


Requirements
------------

imlib2 >= 1.2.0 is required, >= 1.4.2 is recommended.
imlib2 must be built with png support.


Installation
------------

./configure
make
sudo make install

For additional help on package configuration, see
./configure --help


Versions
--------

e16-1.0.0:
            No major changes, might as well have been 0.16.8.16.

e16-0.16.8: Released Feb 2006
            enlightenment -> e16
            Major internal rewrite
            Changed configuration system
            Added compositing manager

enlightenment-0.16.7: Released Jul 2004
                      Migrated to imlib2

enlightenment-0.16.6: Released Nov 2003
                      Added extended window manager hint support

enlightenment-0.16.5: Released Oct 2000

enlightenment-0.16.0: Released Oct 1999


Configuration
-------------

All settings can be shown and set using eesh.

To get a full list of settings:
$ eesh show

To set some parameter:
$ eesh set <parameter> <value>
Some settings will not be effective until E is restarted.

To get a list of all eesh commands:
$ eesh help full

The available configuration options are shown below. Values are the defaults.

# [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


Configuration files
-------------------
Skip this section unless you *really* want to know...

It is here assumed that --prefix is /usr, and that the default user
configuration directory (~/.e16) is used.

In general, the configuration search order for theme related configuration
files, say xyz.cfg, is:
1) User configuration directory, i.e. ~/.e16/xyz.cfg.
2) Theme directory, i.e. /usr/share/e16/themes/<theme>/xyz.cfg, or
   ~/.e16/themes/<theme>/xyz.cfg.
3) Default configuration directory, i.e. /usr/share/e16/config/xyz.cfg.

Mouse and keybindings are defined in bindings.cfg. bindings.cfg is searched in
1) User configuration directory, i.e. ~/.e16/bindings.cfg.
2) Default configuration directory, i.e. /usr/share/e16/config/bindings.cfg.

Window matches (border and icon associations) are defined in windowmatches.cfg
and matches.cfg.
windowmatches.cfg (deprecated, border associations only) is loaded first,
and should be found only in theme directories.
matches.cfg is loaded next, and searched in
1) User configuration directory, i.e. ~/.e16/matches.cfg.
2) Default configuration directory, i.e. /usr/share/e16/config/matches.cfg.
Window match items are appended to the window match list, in the order
in which they are read from the configuration files.
When doing border/icon matches, the window match list is searched from the
start, and the first matching item will be used.


Default keybindings
-------------------

Alt-Ctrl   Home		Auto-arrange windows
Alt-Ctrl   Insert	Launch Eterm
Alt-Ctrl   Delete	Log out
Alt-Ctrl   End		Exit
Alt-Ctrl   Right	Goto next desk
Alt-Ctrl   Left		Goto previous desk
Alt-Shift  Down		Move desk area down
Alt-Shift  Up		 -    -    -   up
Alt-Shift  Left		 -    -    -   left
Alt-Shift  Right	 -    -    -   right
Alt        F1		Goto desk 0
Alt        F2		 -    -   1
Alt        F3		 -    -   2
Alt        F4		 -    -   3
Alt        F5		 -    -   4
Alt        F6		 -    -   5
Alt        F7		 -    -   6
Alt        F8		 -    -   7
Alt        Tab		Switch focus (using focus list, if enabled)
Alt-Ctrl   Up		Raise active window
Alt-Ctrl   Down		Lower active window
Alt-Ctrl   x		Close active window
Alt-Ctrl   k		Destroy active window
Alt-Ctrl   s		Toggle active window sticky state
Alt-Ctrl   i		Iconify active window
Alt-Ctrl   r		Toggle active window shaded state
Alt-Ctrl   f		Toggle active window fullscreen state
Alt-Ctrl   m		Toggle active window maximized state
Alt-Ctrl   w		Show window-ops menu for active window
Alt        Return	Toggle active window zoomed state
Ctrl-Shift F1		Show User menu          (default left mouse button)
Ctrl-Shift F2		Show Enlightenment menu (default middle mouse button)
Ctrl-Shift F3		Show Configuration menu (default right mouse button)
Ctrl-Shift F4		Show Window List menu   (default Alt-middle mouse button)

Alt-Ctrl   a		Toggle visibility of all buttons
Alt-Ctrl   b		Toggle visibility of theme buttons
Alt-Ctrl   c		Toggle visibility of configuration buttons
Alt-Ctrl   d		Switch dragbar position
Alt-Ctrl   o		Switch dragbar button ordering


Session Scripts
---------------
Enlightenment can now automatically run user scripts or applications during
Startup, Restart, and Shutdown. This facilitates the loading of system
tray applets, rss readers, screensavers, and other daemons (e.g. dbus),
and allows for cleanup of programs that don't terminate properly when E
quits (this is especially common with KDE applications in E and the arts
daemon or dcop server keeps running).

Enlightenment accomplishes this with the addition of two new keys in
the $ECONFDIR/e_config--#.#.cfg (#.# may vary depending on your X setup -- 
for most people, it will be 0.0). These are:

misc.session.enable_script 
misc.session.script 

misc.session.enable_script is a boolean. When set to 1, Enlightenment will 
execute the script in the misc.session.script key. By default, this feature 
is disabled. When enabled, it will do nothing until the user configures
his/her home directory ($ECONFDIR -- normally ~/.e16).

The default session.script is located in $EROOT/scripts/session.sh ($EROOT
is normally /usr/share/e16 or /usr/local/share/e16). It will look for 
directories in the user's $ECONFDIR/ (~/.e16/) called:

~/.e16/ ($ECONFDIR)
	Init/
	Start/
	Stop/

and run any and/or all scripts or executables in each when E starts, 
restarts, and shuts down. If no scripts or executables are present, or
if any of the directories Init, Start, and Stop do not exist, NOTHING
will happen and E will start up as usual. So, in order to use session
scripts, all the user has to do is to populate the Init, Start, and Stop
directories with scripts, applications, or links to applications that
should run during Startup, Restart, or when E is stopped.

The default values for the new keys are:

misc.session.enable_script = 0
misc.session.script = $EROOT/scripts/session.sh

The user may write a custom script and place it anywhere. Simply modify 
the config file by using:

$ eesh set misc.session.script myscript

and modify it (be sure to chmod +x the file otherwise it won't run). 
The session script is called with one of three command parameters; 
init, start, and stop. Any custom script should have a code block 
similar to this in order to function properly in Enlightenment.

case "$1" in
init)
        # do blah
        # or do function init
start)
        # do blah
        # of do function start
stop)
        # do blah
        # or do function stop
esac

Automatic script running can be enabled/disabled via the Session Settings
dialog in Enlightenment and checking/unchecking the option Enable Session
Script, by editing the user cfg file and setting the
misc.session.enable_script key to 1/0, or with

$ eesh set misc.session.enable_script 1/0

This process is very flexible since when used, the user can turn off
individual scripts and applications by chmod -x or simply leave the
startup directories empty or remove them.


Composite manager notes
-----------------------

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.

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
XLIB_SKIP_ARGB_VISUALS set.
To fix border rendering on "real" ARGB windows it is required to use imlib2
with version >= 1.3.0.

Tweaks:

As of e16 >= 0.16.8.9: If there is any kind of trouble with the composite
manager, first check compmgr.mode (eesh show compmgr), and set it to 1 if
it isn't (eesh set compmgr.mode 1, restart).

If pop-up windows disappear immediately after having appeared (may happen
e.g. with certain pop-up windows when using gnome > 2.12), try:
$ eesh set compmgr.override_redirect.mode 0
This should make the pop-up windows usable, but not always rendered properly.
This problem should not occur with recent X-servers.

If window resize/shading with composite enabled is ugly, try:
$ eesh set compmgr.resize_fix_enable 1
This problem should not occur with recent X-servers.


Fonts
-----
Theme font selection depends on a number of settings and whether or not
the theme has font alias support.

For themes with font alias support the fonts are determined by a font
configuration file. This file is selected as follows, first hit applies:

- If theme.use_alt_font_cfg is set (default off) and the the file specified
  by theme.font_cfg is found the fonts are determined by this file.

- If theme.use_theme_font_cfg is set (default off) and the theme has a
  fonts.theme.cfg the fonts are determined by the theme's fonts.theme.cfg.

- If e16 was built with pango support, look for fonts.pango.cfg.

- If e16 was built with xft support, look for fonts.xft.cfg.

- Look for fonts.cfg.

The font configuration file search path is ~/.e16, <theme-dir>, and
/usr/share/e16/config.
Default fonts.pango.cfg and fonts.xft.cfg are provided in /usr/share/e16/config.

The default theme (winter) and the core themes (BlueSteel, BrushedMetal-Tigert,
Ganymede, and ShinyMetal) do have font alias support.

Don Harrop has made available a major number of e16 themes which have been
modified for font alias support (http://themes.effx.us).

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.

There are several ways to specify a font (in the font configuration file or
in TextClasses):

- "<font name>/<size>", e.g. "Vera/8".
  In this case e16 must be able to find "Vera.ttf" in <theme dir>/ttfonts or
  /usr/share/e16/fonts.

- XLFD font sets, e.g. "-*-lucida-medium-r-normal-*-12-120-*-*-*-*-*-*,-*-gulim*-medium-r-normal-*-12-120-*-*-*-*-ksc5601.1987-*".
  xfontsel, xlsfonts, and xfd can be used to select and show these fonts.

- Fontconfig font names, prefixed by "xft:", e.g. "xft:Luxi Sans-10:bold".
  fc-list and xfd can be used to select and show these fonts.
  This possibility (Xft support) is available as of version 0.16.8.5.

- Pango font names, prefixed by "pango:", e.g. "pango:sans bold 10".
  This possibility (Pango support) is available as of version 0.16.8.9.
  Pango support must be explicitly enabled at build time with --enable-pango.


Using e16 with GNOME
--------------------
Setting up e16 as WM in a GNOME session unfortunately depends on the version
of gnome-session.

Recent versions of gnome-session seem to require that a gconf key is set
and that an e16.desktop file can be found:

$ gconftool-2 --set /desktop/gnome/session/required_components/windowmanager --type string e16
$ gnome-sesssion

/usr/share/applications/e16.desktop (or ~/.local/share/applications/e16.desktop):
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=E16
Comment=The Enlightenment (e16) window manager
Exec=e16
Icon=/usr/share/e16/misc/e16.png


The section below seems to be obsolete as of gnome-session-2.2x(?)

The GNOME desktop can be started using e16 as WM with:

$ export WINDOW_MANAGER=e16
$ gnome-sesssion


The section below is obsolete as of gnome-session-2.16

However, somewhere along the way the script /usr/bin/gnome-wm is called.
This is supposed to handle differences in all the different WM's out there,
but does not know of "e16". This will cause a major delay when starting up
the GNOME desktop.
One way to fix this is to use gnome-session-properties to get rid of
the "gnome-wm" session entry.
Another is to apply this patch to /usr/bin/gnome-wm:

--- /usr/bin/gnome-wm-org       2005-04-19 21:33:53.000000000 +0200
+++ /usr/bin/gnome-wm   2005-11-15 20:46:09.000000000 +0100
@@ -69,7 +69,7 @@
 OPT2=
 if [ ! -z "$SMID" ] ; then
   case `basename $WINDOW_MANAGER` in
-    sawfish|sawmill|metacity)
+    sawfish|sawmill|metacity|e16)
       OPT1=--sm-client-id=$SMID
       ;;
     openbox)


Using e16 with KDE
------------------

The KDE desktop can be started using e16 as WM with:

$ export KDEWM=e16
$ startkde


Major changes and new features in 0.16.8
----------------------------------------

The following sections are only relevant for users upgrading from version 0.16.7
or older.

Changes:
- "enlightenment" has been renamed to "e16".
- The default user configuration directory is "~/.e16".
- The data install path is "<somepath>/e16", e.g. "/usr/share/e16".
Thus, an e16.8 installation should not clash with any other versions.
- Various configuration file formats have changed and should be easier
  to read and modify, if needed.
- The configuration is stored per display and per screen.  E.g. for
  DISPLAY=:1.0 the main configuration file is "~/.e16/e_config--1.0.cfg".
- Actions(used by menus, keybindings, etc.) and IPC functions(eesh) have
  been merged.
- Many IPC(eesh) commands have been changed, possibly breaking compatibility
  with a few epplets.
- Window matches and icondefs have been merged (into matches.cfg), see below.

New features:
- Built-in composite manager.
- An iconbox can be configured to act as System Tray
  (middle mouse->Desktop->Create Systray).
- Possibility to run programs on startup, restart, and shutdown, see
  "Session Scripts" below.
- Possibility to track changes in remembered settings.
- Window operations by window matches (class, name, transient, ...),
  e.g. for making all windows of a certain type sticky, put it on a certain
  layer, etc. (see matches.cfg).

0.16.8 should be compatible with most e16 themes. However, user installed
themes will have to be moved/linked to ~/.e16/themes/ or <datadir>/e16/themes/.
A few themes will have to be tweaked to work with e16.8. The most likely
problem is that configuration settings are included in .cfg files where they
are no longer accepted.
See the "Migrating ..." section below for additional information.

e16keyedit >= 0.3 works with e16.8.
If used to change the keybindings, the modified settings will be stored in
~/.e16/bindings.cfg.
It should also be fairly straightforward to modify the key- and buttonbindings
by hand. Copy /usr/share/e16/config/bindings.cfg to ~/.e16/bindings.cfg and
modify as desired.
NB! e16keyedit only modifies keybindings, not buttonbindings.

NB!!! Do not rename ~/.enlightenment to ~/.e16. It will only cause trouble.

Migrating from versions older than 0.16.8
-----------------------------------------

Users upgrading from enlightenment 0.16.7 need to read the following.

Several organizational changes have occurred that will require
some manual adjustments. Mainly these deal with changes to 
configuration and shared directory names. This was done to avoid
collisions with the new enlightenment DR17.

1) home configuration directory is now ~/.e16, not ~/.enlightenment.
2) menu files have been moved to a subdirectory called menus
   you will need to move customized menus and subdirectories to
   ~/.e16/menus.
3) you will need to move ~/.enlightenment/backgrounds files to ~/.e16
   and any themes as well.
4) $prefix/share/enlightenment has been changed to $prefix/share/e16
5) if installed E-docs and Epplet directories will have to be moved 
   to $prefix/share/e16
6) any additional themes that were added to the $prefix/share/enlightenment
   directory will have to be moved to $prefix/share/e16
7) any startup scripts or Session scripts that reference the startup
   executable `enlightenment` must be edited to the new e16 program.


A few themes have to be tweaked to work with 0.16.8.

Some themes (Maw, Black E) have an actionclasses.cfg like:

#include <definitions>
__E_CFG_VERSION 0
#include </usr/local/enlightenment/config/actionclasses.cfg>
#include </usr/share/enlightenment/config/actionclasses.cfg>

The absolute path is obviously no longer valid.
The most sensible fix for these themes is to remove the themes
actionclasses.cfg. e16 will then fall back to the default one.


Resources
---------

The e16-docs package is somewhat dated but still contains much relevant
information about using e16.

Enlightenment web site:
http://www.enlightenment.org

Mailing lists:
http://sourceforge.net/mail/?group_id=2

IRC:
#e on freenode