path: root/pages/about-enlightenment.txt
diff options
authorNate Drake <>2017-12-07 06:44:08 -0800
committerapache <>2017-12-07 06:44:08 -0800
commit79ba7a551e0cfcca59d3f460e8da2860662d237e (patch)
treeeb3968c01e94ac49e8f90da784fa1e9027a023fe /pages/about-enlightenment.txt
parent6826b98e7ab0f64e009b374e16ce2e5b4fbb3b7e (diff)
Wiki page about-enlightenment changed with summary [Markdown] by Nate Drake
Diffstat (limited to 'pages/about-enlightenment.txt')
1 files changed, 1 insertions, 344 deletions
diff --git a/pages/about-enlightenment.txt b/pages/about-enlightenment.txt
index 78735c9f9..e55a36e6b 100644
--- a/pages/about-enlightenment.txt
+++ b/pages/about-enlightenment.txt
@@ -1,344 +1 @@
1~~Title: About Enlightenment~~ This page is redirected to [[]]. \ No newline at end of file
2==== Enlightenment ====
4[[download|Download Enlightenment Here]]
6Code quality - [[|Coverity scan status]]
8Screenshots - [[|Click here to see all]]
10//Note - the above screenshots are user submitted and not filtered or approved. They are submitted to share using the Enlightenment screenshot feature after clicking on "Share". If there is private or inappropriate content, we are not responsible. If you find content objectionable, click on the image and click on the "Alert content" at the top of the page.//
12{{:icon-enlightenment.png?nolink |}}
14Enlightenment (0.17+) (a.k.a E17) is the next generation of
15graphical desktop shell from the Enlightenment project. When you first
16run it and get past the initial setup wizard, you should end up with a
17desktop not unlike the above. It is a very traditional UNIX/X11 style
18desktop, because that is what E primarily is and attempts to be, **BUT**
19with a bunch of bells, whistles and modernities that were never there,
20as well as a different core design philosophy. There seems to be some
21obsession with Window Manager vs. Desktop Environment debates. It
22doesn't much matter what you call it. It manages windows. It does
23compositing. It manages files. It launches applications. It handles UI
24and system settings.
26This information assumes you will download and compile Enlightenment
27and its necessities beyond what your current OS does or can provide.
28If Enlightenment is provided already as packages, you may want to
29check them out first, see if they are actually up to date, as opposed
30to compiling it all yourself. If not, then this information will help
31you get it set up yourself and take your first few steps. There are a
32few things you will need to use Enlightenment. Firstly you will need
33to [[download]] Enlightenment and EFL library components. You will need to
34provide the appropriate system dependencies too. The details will be
35further on.
37=== Misconceptions and assumptions ===
39Before we go any further, it is time to clean up some common
40misconceptions. First, Enlightenment is not new. It is OLD. It
41predates larger desktop environments like GNOME or XFCE. It is just
42barely younger than KDE. It never started life as an attempt to "be a
43full desktop environment". It started life as simply a window manager.
44This was back towards the latter part of 1996, and its first 0.1
45release came in the first part of 1997. It was a window manager with
46some extras to scratch the itch that "everything was gray bevels and
47UIs had to be plain to be functional or useful, and that computers/X11
48were not capable of more". It handily proved that to be wrong. It
49could manage function AND form more flexibly than anything else, and
50to this date is still in an enviable position of flexibility in both
51behavior features and in terms of visuals. In fact, its Achilles heel
52simply may be that it has too many options and too much flexibility.
53Some of the extras filled in the gaps, like setting wallpaper, that
54was always done by 3rd party tools and not the window manager at the
55time. If you are after a constrained and simple UI, then Enlightenment
56(E) is not for you. It can be configured to be plain and simple if you
57try, or to be buzzing with activity and complexity, but this is up to
58you. Its default is somewhere in between these to give you a taste of
59what it can do on both ends of the spectrum.
61You aren't stuck with the default theme. Enlightenment was the
62first Window Manager (WM) to introduce themes in X11 (pre-packaged
63sets of data that you just grab and select, providing you with a vast
64new look and feel). Today in Enlightenment, these themes come as
65"Edje" files (.edj), and are pre-packaged data files containing all
66images, layout, animation etc. that you may need. They never get
67"unpacked". They are used "live as-is", and only the data needed from
68the file is sourced and decoded, so even if the theme is massive, only
69the pieces needed at any one time are decoded into memory, which is
70normally a fraction of the actual file size. They are also live data
71and need to be there while E17 runs as it is forever digging bits of
72data out of these files as it needs it. It is an accepted fact that
73the default look will not be for everyone. It tries to strike a
74balance of being unique (not mimicking some other desktop look), yet
75still being stylish. It is meant to echo some of the past from where
76Enlightenment comes from, and yet roll in modern effects and feels. It
77sacrifices some "usability" for looks, yet tries to keep a balance and
78still be functional. It will not be for everyone, but it is hoped that
79it keeps you mostly happy until you find other themes that exactly
80meet your visual needs. You will find this as an on-going philosophy
81in Enlightenment. One size does NOT fit all. That's what options are
82for. That's why we have themes. Do not assume that what
83you see is what you are stuck with. You are expected to experiment and
84discover what is good for you. Maybe the default is fine. Maybe it is
85not. That's why we pioneered themes and spent immense amounts of time
86making them nicely packaged, efficient and powerful enough to
87fine-tune almost any aspect of the UI.
89That leads onto the next thing you may find quickly. Enlightenment has
90so many options, because we believe that **CHOICE** is important. If you
91don't believe that your preferences matter, then maybe another project
92is better for you, but we firmly believe that they do. We also believe
93that there are others who have different preferences to you and that
94they matter too. We may not have accounted for every single option out
95there. We may not have presented it to you in a way that makes it
96childs play to find and use, but we have tried. Over time options will
97be cleaned up and accessibility to them improved. A lot of them are
98there simply because they needed to be and not a lot of time was spent
99fine-tuning how to present them in a fool-proof manner. This will
100improve over time and with input, suggestions, patches etc. we hope to
101still offer all the options you need or want, but in a much more
102accessible form.
104Not everything is perfect, polished and "finished". This is not the
105end of a path. It is the start of a whole new one. If you find
106something you think could be better, please don't just complain and
107vanish. [[contact|Contact us]] and open up a dialogue. Maybe we agree.
108Maybe we disagree. Maybe we are already working on it. Maybe you can
109help out and provide patches too.
113=== Philosophy ===
115We have certain things that are important to us and how we work. They
116will often show immediately to users, and it is good to explain this
117here. They will lurk behind our decisions and responses, so instead of
118having to explain them each time, setting the tone here is a good idea.
122A user should be given as much control as is feasible. There is often
123a trade-off in maintainability by the programmers of some code,
124current and future development, as well as available time to do the
125work. It is always best to make any feature "just work" without
126options for everyone if possible, but the effort may be immense, or
127the "what does "just work" really mean may not be as clear to some as
128to others, and so options are provided to allow the fine-tuning to be
129done by users. Sometimes options are dangerous, but necessary for some
130people. Sometimes they are so dangerous that they are buried under
131layers of complex systems to try and keep them from being mis-used.
132Sometimes they are just, by nature, complex, and that's life. In the
133end, choice is good. That means that options and configuration are
134important. We'd love to streamline how they are presented, and make it
135easier for the "Average Joe", but never shall we do this at the
136expense of the power user.
140Like with choice of options, the actual aesthetics are something that
141is highly subjective and personal. What is beautiful for one person
142can be ugly for another. Otherwise we'd all still be driving black
143Ford model-T's and all be happy about it. Some desktops and OSs
144provide vanilla looks. Some are strawberry. Some can never be changed.
145We have chosen chocolate by default. Mostly because it means we stand
146out by default. You can change this if you want. You can even create
147your own flavors of look in gory detail if you spend the time on the
148artwork and layout. Take advantage of the choice.
152We want Enlightenment to be as efficient as possible. We don't want to
153sacrifice looks or functionality either, so we have spent a lot of
154effort making a lot of libraries that help this happen. Our theme
155files are binary blobs. They may appear opaque at first, but they are
156dissectable, given tools we provide like edje_decc. The same for our
157configuration files (eet). We value runtime speed and efficiency over
158giving the user encouragement to go hack their configuration files
159with a text editor. We spent a lot of time providing a GUI for almost
160every option that exists in Enlightenment. It manages this for you.
161It's to ensure maximum efficiency at runtime. If you need to, on the
162odd occasion, dig into the bowels of these files we have tools that
163can export and import text files that you can edit, so for the real
164tinkerer, hacker and developer you can do what you need to, BUT the
165regular user is discouraged from messing at this level, as this is
166where you can get yourself into more trouble if you get it wrong. We
167have also chosen a much more process-lean model with fewer processes
168and more rolled into a single one. This gives better opportunities for
169efficiency, but makes things a little more fragile. To solve the
170fragility we have made error recovery very good with enlightenment
171catching its own errors and offering the ability to debug or just
172restart from where you left off and move on without losing any work. E17
173leaves a crash log file (~/.e-crashdump.txt) if you have gdb installed
174and you have debug symbols on.
178Not just being efficient, but realizing that not everyone has the
179latest and greatest hardware to run Enlightenment is what we are
180about. It's also not just one architecture. They may be stuck on
181something quite old (some 486), or want Enlightenment to work on
182something quite bizarre. We have gone to a lot of effort to make
183Enlightenment scale from anything like a 200MHz ARM phone with 32M RAM
184all the way up to the latest multi-core, 64bit multi-GHz and 16GB+
185desktop beasts with 2 or more screens. We keep in mind the puny end of
186the spectrum all the way up to the beastly end. When we make decisions
187they try and ensure every part of this spectrum gets a fair go, and
188preferably leaves as few people behind as possible. This also means
189sometimes raising the bar in order not to hold back future things, but
190also means sometimes holding back until a better way is found. You'll
191find evidence of this in the fact that out-of-the-box we have made
192compositing fast and usable even without a GPU, and yet we can fully
193push your GPU if you have one and it has solid drivers. We care.
197If you want a minimal interface, you can configure Enlightenment to be
198quite minimal, but it takes effort. Enlightenment leans towards
199providing eye candy where it can, and often comes by default that way.
200This is how we roll. We always have. Haters gonna hate. That's how we
201roll. Bring on the lollipops!
205One thing over the years that has happened, is that the project has
206morphed into a library project much more than a Window Manager or
207Desktop project. Of our released code something like 80% of it is
208stand-alone libraries. This is why there was no apparent progress in
209the Window Manager for many years. The progress was sunk all into
210building libraries and a toolkit, in order to make the WM and much
211more besides. A lot of effort was spent on abstractions to ensure we
212have many years of smooth sailing into the future. When we do things
213we often go and build libraries first, and then try and make them
214applicable to much more than just the simple problem being solved in
215Enlightenment, which adds overhead, but provides valuable resources
216for developers other than us who wish to re-use that effort in their
217own creations.
221We, as a group, primarily work on Linux systems. We have developers
222who use and focus on others like MacOS-X, Windows, the BSD's even PS3.
223We care about porting, and that often adds overhead and complexity,
224but we don't have build and development farms set up for each OS out
225there, so often you'll find Linux gets the support first and foremost,
226and then it's improved for other targets. Sometimes we shortcut that
227and do it "the Linux way" only as we have problems to solve and can
228worry about other target systems later. We are always open to ways of
229making that better and more portable. We welcome patches and input and
230anyone willing to do the hard yards of supporting their OS.
234We are not always that serious a bunch. We have a sense of Humor. We
235exercise it regularly. You may call it "unprofessional". We call it
236"having a life". :)
240Whilst most of our website is in English, as is the default language
241for Enlightenment (until you change it), and it's the common language
242of communication amongst developers and even a lot of users. Even so,
243we realize and are fully aware that people speak other languages.
244Many, in fact most of our developers are not native English speakers.
245We have tried to support "the rest of the world" as much as we can and
246hope to continue in future. It is an ongoing process to provide
247translations and such support. Help out. We do care. We are busy. Very
248busy. But we care. It should be hopefully evident in the large list of
249languages Enlightenment is already translated to, partially or
250completely, and the fact we support selection of keyboard layouts and
251input methods as well. We are all UTF-8 through and through and
252support right-to-left text too as well as complex composition as is
253found in some languages (if you provide the right dependencies). Many
254of our developers do not live in their own native languages and
255countries, so we are fully aware of the challenges people face with
256another language environment.
258== OPEN IS BEST ==
260Enlightenment and its libraries are all open source (BSD 2 clause,
261LGPL or GPL for some executable binaries only). It is a mix because
262the person who founded each library chose the license, or a license is
263inherited from some original source. We respect that choice and
264license. We believe open is best because it simply is the best way to
265propagate knowledge, gain feedback and input and build a community
266beyond your small borders. It gets your software onto more devices and
267operating systems. It allows developers to poke and prod and find out
268what is really happening. It's the most detailed documentation ever
269made. It simply is better. But your "brand" of open and someone else's
270may differ. That's not for us to promote or debate. There are no other
271political aspirations for this project beyond that. Open is best. This
272also goes for our communication. Warts and all we discuss in the open.
274=== Why oh why use E? ===
276So if you've managed to read this far, you're rather patient and
277willing to invest more than 7 seconds on Enlightenment, but you're
278probably wondering "Why on earth should I use this Enlightenment
279thing? I don't want people to know I use E! They might think I do
280drugs or something?". Well wonder no more! You shall now be assaulted
281by our marketing blurb!
283E is smaller, lighter, faster, nicer and more flexible that your
284current WM, and it's old school with a new-school twist. It's trendy
285and fashionable. You will simply be totally un-cool if you don't use
286it. Its farts smell of roses and world peace has been known to be
287solved by E. OK. Just kidding (though really... they do smell of
290In all seriousness Enlightenment is fairly lean. Considering how much
291you get in return. It isn't a minimalist WM or desktop, but it is a
292massively long cry from the full desktop beasts that are its peers,
293even the ones that claim to be minimalist/lean. Enlightenment uses
294EFL. EFL was designed to provide the core of Enlightenment, and then
295some. But it was targeted at scaling down to things like mobile phones
296and embedded devices. This has meant that there was a large focus on
297being lean, and getting a lot of "return on investment" from the very
298core that sits under E17. This of course has paid off for
299Enlightenment itself rather nicely.
301It only loads what it needs to, when it needs to. It caches what it no
302longer needs to avoid always re-fetching it, but these caches
303eventually get flushed or expire, so long-term it won't just grow
304without bound in memory footprint. Rendering can be done with the CPU
305and/or GPU. It's up to you. (though at the moment we don't give you
306any UI controls over the rendering engine for UI content, but the
307compositor allows the choice - the core toolkit is capable of it).
309An E17 install on the exact same system as Unity on Ubuntu, simply
310replacing unity can save you 200M of RAM. Not to mention be snappier
311and more responsive. You will never know until you try, so why not at
312least give it a go? You run fewer processes since E17 now handles
313being the panel, filemanager, window manager and compositor (and more)
314all at once. It amortizes the cost of all these common components into
315a single process. You start quickly and you are now just a really cool
318Enlightenment and EFL provide over-the-top power when it comes to
319re-skinning or theme changes. You can change not just colors and
320background images, but entire animations, multiple layers of imagery
321scaled, aligned and laid out to please. It's like Photoshop or The
322GIMP, but on steroids riding a train of rabid camels. If anything it
323may be an Achilles heel given how much power is exposed, but hey,
324that's what we have. If you are an artist, designer or skinner, you
325could hardly do much worse than E17. Wallpapers don't just have to be
326images. They can be complete interactive animations. You can provide
327multiple resolutions of your imagery all in-line in the same file and
328have the "best one chosen automatically" based on size. It's all like
329layers that are sized, scaled, aligned and arranged relative to
330each-other and every UI element is a collection of these. You can have
331it animate base on input events, or time. And not just the wallpaper.
332Anything in E17 can do this. Fade layers in and out, change their
333sizes, image content and more. Make your art come to life.
335And for the tweaker heads amongst you, there is an option for every
336occasion. We don't go quietly into the night and remove options when
337no one is looking. None of those new big version releases with fanfare
338and "Hey look! Now with half the options you used to have!". We sneak
339in when you least expect it and plant a whole forest of new option
340seeds, watching them spring to life. We nail new options to walls on a
341regular basis. We bake options-cakes and hand them out at parties.
342Options are good. Options are awesome. We have lots of them. Spend
343some quality time getting to know your new garden of options in E17.
344It may just finally give you the control you have been pining for.