Page MenuHomePhabricator

Updated 2,147 Days AgoPublic

  • Here goes some drafts which probably should be split by several sections and right now it looks like just a "no-logic notes" about everything which could be useful.

Enlightenment Settings and configuration files

It's important for Users to learn how to work with Profiles:

Menu -> Settings -> Settings Panel -> Settings -> Profiles

If you're happy with all your E settings but just wish to experiment with something new - create a new Profile and switch to it. You can always switch to your old one and restore all Desktop Shell related settings. All your settings are stored in ~/.e/e/config/ and it's the eet encrypted binaries mostly. Sometimes it's important to know how to interact with them. For example if you're upgrading to the newer version of E, the settings should automatically be converted to the current stage. But sometimes, if you're upgrading once per year or even less, or if you've decided to downgrade E-version, then you probably face the case when manual conversion of settings is required. To do it you need a eet binary. The brief help is available if you run eet without any arguments. Let's assume that we've created the profile named 1 and let's take a look at some configuration files.

> cd ~/.e/e/config/1/
> ls

Now let's copy "e.cfg" file and look inside this binary:

> cp e.cfg e.cfg.test
> eet -l e.cfg.test

The config is the only "KEY" stored in e.cfg.test so we need to fetch all values of this key into the ./e.cfg.test_decrypted file:

> eet -d e.cfg.test config ./e.cfg.test_decrypted

./e.cfg.test_decrypted is a plain text file where you should diminish the value of value "config_version" int: SOME_DIGIT; if you're downgrading your E Desktop Shell. To create the new binary config file ( in our case) use the command like:

> eet -e config ./e.cfg.test_decrypted 1

The "1" at the end of line command to compress the resulted binary configuration file. This 'trick' is especially nice for modules like mail if you've configured a lot of mailboxes and for some reason auto conversion of settings failed (it happened in a quite rare cases).

E17'th desklock

In some cases you can note that internal screenlock:

Menu -> Settings -> Settings Panel -> Screen -> Screen Lock

accept your proper password but unable to unlock screen claiming that password is incorrect. It's a usual case for openSUSE or any other distribution with a custom security policies (where pam is configured in a custom manner). In this case you need to switch to the terminal/console (Ctl+Alt+F1), figure the exact PID of enlightenment and force to unlock the screen using gdb:

> pstree -p | grep enlightenment

Assume that PID is 4614

> gdb -p "4614"
call e_desklock_hide()

That should be enough. Also it'd be a nice idea to use custom screenlock by entering something like:

xlock -m julia

into the dialog entry field.

E17 and Compositing Managers

NOTE: the info below could be outdated and not valid, but it just shows some aspects of E.

In general there're two basic modes where composite is on or off. And it's important to understand, that switching E17'th composite on does NOT mean that Composite Manager (like xcompmgr, Bling-module, Ecomorph etc.) will be loaded and will control the rendering behavior. At the moment the only working solution is Ecomorph (it just works). The Bling module works in general but could degrade the system performance. It's important to check the state of composite settings each time you unload Bling and return to the usual rendering schema:

Menu -> Settings -> Settings Panel -> Advanced -> Engine

Make sure that after you unload/disable Bling module the checkbox "Enable Composite" is clear. Otherwise the various issues could happen with a rendering of a shaped objects (like rounded window borders, shaped menus, drag'n'grop of files/folders and so on). The best solution is to use a separate Profiles for E-composite modes.

This information could also be obtained from a command line:

> enlightenment_remote | grep composite
 -use-composite-set OPT1 Set whether composite should be used
 -use-composite-get Get whether composite should be used

E17'th UI basics

The core difference between EFL and others is Edje. It provides the independent UI (user interface) and capability to improve/modify it if needed. Please refer to the Edje Interface Design Articles to get some ideas how to interact with "*.edj" files. Below is a simple example of things which are common for Illume (OpenMoko or any other project using Illume as UI). Please look at the example of a default keyboard and Illume interfase:

{F2271, size=full}

It's unacceptable for some folks to waste 2/3 of a screen space for only keyboard. The solution is simple - adjust the defaults :). It's an easy task. You need to copy the default illume.edj, modify it, test and replace it when you're happy. Let's look at some sample actions which could be applicable.

> sudo cp /usr/share/enlightenment/data/themes/illume.edj /usr/share/enlightenment/data/themes/illume.edj.bak
> cp /usr/share/enlightenment/data/themes/illume.edj ~/
> edje_editor ~/illume.edj

We're just solve this case with edje_editor - a simple UI editor. To begin with let's just limit the maximum allowed height of a keyboard to 150 pixels:

{F2270, size=full}

To begin with we're modifying the e/modules/kbd/base/default group settings. May be it'd be funny to modify other settings of e/modules/kbd/* - depends on your requirements. If you're happy - replace the default UI:

> sudo cp ~/illume.edj  /usr/share/enlightenment/data/themes/illume.edj

E17 and Edje Data Collection - hidden treasures

unfortunately the awesome Edje Data Collection reference is far away from being 100% complete and accurate. below are some missed arguments which i can remember so far:

  • images { image [image file] [compression method] (compression level) } Compression methods: USER: the original image is NOT included into "edj" but serve as a "pointer"
  • image { normal [image's filename] tween [image's filename] border [left] [right] [top] [bottom] middle [0 or 1]} Missed option is: scale_hint [STATIC] [DYNAMIC] - this is mostly relate to the aspect parameters and aimed to preserve/destroy the "native" resolution of the image.

Other useful stuff

Some nice extras that can be found from svn:

itask, itask-ng, winlist-ng

detour gui (read theme) :: for e17, ewl, etk, elicit. Recommended for itask-ng.

Imported from
1 2009-05-13 12:14:16
2 2009-05-13 12:14:52
3 2009-05-13 12:17:08
4 2009-05-13 12:17:52
5 2009-05-13 12:18:54
6 2009-05-13 12:20:34
7 2009-05-13 12:24:28
8 2009-05-13 12:27:26
9 2009-05-13 12:34:45
10 2009-05-14 06:37:15
11 2009-05-14 06:40:35
12 2009-06-10 13:03:02
13 2009-06-10 23:56:39
14 2009-08-05 01:33:28
15 jt_a 2011-01-02 02:58:01
16 jt_a 2011-08-29 03:52:08 no categories avail, so search using tags

Last Author
Last Edited
Sep 5 2013, 1:57 PM