[HN Gopher] Enlightenment 0.26
       ___________________________________________________________________
        
       Enlightenment 0.26
        
       Author : pantalaimon
       Score  : 101 points
       Date   : 2023-12-24 12:29 UTC (10 hours ago)
        
 (HTM) web link (www.enlightenment.org)
 (TXT) w3m dump (www.enlightenment.org)
        
       | blackhaz wrote:
       | Is this one of the oldest WMs still in development for Unices? I
       | remember I ran Enlightenment on my Pentium 133 MHz Linux box to
       | get those cool aliens hanging from my windows. Feels like the
       | version numbering isn't much different from those good old days.
       | What is the rationale for running Enlightenment today, compared
       | to, say, a DE like Xfce?
        
         | vbernat wrote:
         | TWM (87) and FVWM (93) are still maintained today.
        
           | lagniappe wrote:
           | Don't forget CDE (93) and XFWM (96), still getting releases.
        
             | oblio wrote:
             | Xfwm has been rewritten from scratch at least 2 times. I
             | can't imagine there is any code left from the original
             | releases. Plus it used to be a CDE clone and that was
             | dropped around version 2 when it became a light Gnome
             | clone.
        
         | ClueslessTech99 wrote:
         | Cool aliens? Is this a reference to the Alien 5/Alien 17 theme?
        
           | blackhaz wrote:
           | I don't remember what it was called, but yeah, something
           | along these lines. It really looked cool.
        
       | lagniappe wrote:
       | The first time I got e running was a magical moment. I'd sit
       | there in awe at the responsiveness, and I'd wait for the just the
       | "right" moment to sneak up on xeyes and catch it slipping but it
       | always found my cursor... It sounds dumb now that I type it out,
       | in retrospect.
        
         | bloopernova wrote:
         | Don't be so hard on yourself, we all have interesting
         | misunderstandings about new tech.
         | 
         | Back in the day, late 96 I think with Slackware: I had been
         | using the SunOS and Solaris boxes at work, and a senior
         | engineer told me I should check out Linux, it's Unix on a PC!
         | So, armed with a setup CD, I got it installed and started using
         | it. I thought, this is a very new user unfriendly system, each
         | time I make a mistake, it says it wants to hit me!
         | bash: syntax error near unexpected token...
         | 
         | I thought "bash" was the system insulting and mock threatening
         | me for messing up. :D
        
       | lawnchair wrote:
       | I absolutely loved e16 way back when. Really great to see this
       | project still going.
        
         | chriswarbo wrote:
         | The linked project is a rewrite; originally called E17, but the
         | version number has been increasing, and is now up to 26.
         | 
         | However, E16 is actually still maintained!
         | https://www.enlightenment.org/e16
        
           | lawnchair wrote:
           | Wow that's amazing. I know what I'm doing over the break!
        
       | cbm-vic-20 wrote:
       | Getting closer to 1.0!
        
         | ck45 wrote:
         | Not if they follow https://0ver.org/
         | 
         | E is wrongly listed as 11 years in version 0, shouldn't it be
         | 26 years?
        
           | pavon wrote:
           | E16 hit 1.0 in 2009 (and is still maintained), disqualifying
           | that older code for 0ver.
           | 
           | E17 was released in 2012 and as a major rewrite it is
           | considered a separate project.
        
       | jwells89 wrote:
       | It's been probably a decade since I last tried it, but
       | Enlightenment is interesting and somewhat quirky... definitely a
       | change of pace from the usual suspects. Might have to try it
       | again just to see how it's changed.
        
       | throw156754228 wrote:
       | How is the Wayland support these days? Wondering if there is an
       | alternative to Sway, other than gnome.
        
         | __s wrote:
         | https://wiki.archlinux.org/title/wayland#Compositors includes
         | Enlightenment
        
           | throw156754228 wrote:
           | I know, I'm asking how it has progressed.
        
         | abrouwers wrote:
         | Not awful, but not great. I believe multi-monitor support isn't
         | there, and some issues with layers (Firefox can't run natively,
         | for example, but requires xwayland).
        
           | throw156754228 wrote:
           | I can't get multimonitor support in sway or gnome wayland
           | with nouveau, can others? Just want to plug a hdmi into my
           | Arch Linux laptop.
        
       | Gualdrapo wrote:
       | Enlightenment in general is in my humble opinion one of those
       | things from the FOSS world that deserve much more success and
       | recognition than it has had. It has so much potential.
        
         | orblivion wrote:
         | Could you (or someone) remind me what the big selling points
         | are? I remember a LUG meeting back in the day where someone had
         | fire on the bottom of their screen. But that's about it.
        
           | dale_glass wrote:
           | That was kind of the selling point, IMO. Enlightenment was
           | the WM that focused on pure eye candy even at the expense of
           | practicality. You had random graphical effects just because
           | it looks cool, all sorts of overblown themes to emulate
           | hacker movies, and a few actually useful features (like the
           | virtual desktop display showing what windows were present on
           | other virtual desktops)
           | 
           | If you wanted to have a normal, usable desktop there were the
           | typical choices like Gnome, KDE or IceWM. But if you wanted
           | to show off, Enlightenment was hard to beat.
           | 
           | Hilariously, as time went by hardware got so much better that
           | it went from ridiculously wasteful to really lightweight.
        
             | beagle3 wrote:
             | There was a time (around 1999-2005 iirc) when
             | Enlightenment's graphics library Imlib was _the_ tool for
             | fast CPU raster ops, and was adopted by everyone else. Then
             | accelerated graphics (and eventually GPUs) became the focus
             | and the norm, and Imlib was mostly abandoned.
        
             | csdvrx wrote:
             | > If you wanted to have a normal, usable desktop there were
             | the typical choices like Gnome, KDE or IceWM. But if you
             | wanted to show off, Enlightenment was hard to beat.
             | 
             | Many people say the same thing about Hyprland. I think they
             | don't understand that what you call eyecandy allows
             | important usability feature.
             | 
             | For example, Hyprland has very good animations and
             | optimizations, so I can run all my windows fullscreen,
             | without a titlebar, on several desktops. It's something I
             | did before on Windows, but that was painful on Linux when
             | the "eye candy" wasn't on par.
             | 
             | Moving between desktops is done with just one key. I
             | configure it to take about 200ms (so it's not intrusive)
             | and I mapped it the ro (ro) key, which is next to the right
             | shift key on my 106 keys keyboard): the visual feedback
             | helps me keep the context.
             | 
             | Doing the same with Gnome was painful: slow, ugly and hard
             | to get right (if working at all)
             | 
             | > Hilariously, as time went by hardware got so much better
             | that it went from ridiculously wasteful to really
             | lightweight.
             | 
             | I don't think it's hilarous but sad because Gnome is both
             | slow, looks ugly and can't be configured
        
               | rollcat wrote:
               | > Many people say the same thing about Hyprland. I think
               | they don't understand that what you call eyecandy allows
               | important usability feature.
               | 
               | Bingo. Mac has had (crude, by today's standards)
               | animations from very early on, because an animation
               | helped convey the idea that e.g. a window opens "from" an
               | icon you've clicked.
               | 
               | You don't need the effects to be fancy, but a tiny bit of
               | animation helps you orient yourself. No naturally
               | occurring object (except lightning) can change as
               | abruptly as the contents of a screen.
        
           | sillystuff wrote:
           | I've run Enlightenment (E) since the 90's. Never had flames
           | or any other BS like that. By default there are some
           | animations (for things like desktop switching), but these are
           | easy to turn off, and I always do.
           | 
           | E maintains separate virtual desktops per physical monitor.
           | This allows you to independently switch between L virtual
           | desktops on monitor 1, M virtual desktops on monitor 2, and N
           | virtual desktops on monitor 3... Once you have tried this, it
           | is really hard accepting the limitations of a single virtual
           | desktop space across all physical monitors.
           | 
           | E supports window shading. In some circumstances, I will
           | minimize applications, in others, shading is nicer (e.g., to
           | keep a window associated with a particular virtual desktop).
           | 
           | It can be run in floating window, or tiling mode.
           | 
           | You can decide if focus raises windows or not. Not raising
           | windows on focus is IMO much nicer than the way most
           | environments operate.
           | 
           | You can turn off all the crap like task bar etc., and have a
           | traditional X environment where clicking the mouse on the
           | root window brings up your menu (my preferred setup), or you
           | can make it look/act like Mac/Windows, if that is your thing.
           | You can do most things with the keyboard (setting up custom
           | key/mouse/edge of screen/etc. bindings is trivial). If you
           | hand edit '.e/e/applications/menu/favorite.menu', you can
           | have submenus etc. in your right-click "favorites" menu
           | (using the gui to add menu entries to "favorites" only
           | supports a flat structure). Left click brings up the default
           | menu. Middle click brings up a list of open windows (separate
           | list per physical monitor) to quickly switch.
           | 
           | E is still lightweight compared to alternatives, but it used
           | to be the case that one of the primary devs would test
           | against an ancient machine to ensure it worked well even on
           | box without much memory, and an ancient processor.
           | 
           | I don't use gui stuff for network, filemanager, etc., but I
           | have heard complaints about the default included stuff for
           | this, but you can always just use something else with E, if
           | you like to use gui for these.
           | 
           | Wayland support is WIP. Not recommended.
           | 
           | If you try the E25 package in Debian Bookworm, there may be a
           | missing dependency in the package. It often abruptly exited
           | without an error when clicking on the root window (which I do
           | a lot of for menus). In frustration, I decided to try to
           | build the Moksha E17 fork, but got errors in the build. I
           | didn't have time to track them down, so just continued using
           | debian's packaged E25. Time passed, and I noticed that I
           | hadn't had a crash (abrupt exit without error) since
           | installing the build dependencies for E/Moksha.
           | 
           | from apt's logs:
           | 
           | libefl-all-dev
           | 
           | (which pulled in: efl-doc gir1.2-gst-plugins-base-1.0
           | gir1.2-gstreamer-1.0 libcurl4-openssl-dev libdw-dev libefl-
           | all-dev libeina-bin libeolian-bin libeolian1 libflac-dev
           | libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
           | liblua5.2-dev liblz4-dev libmpg123-dev libogg-dev libopus-dev
           | liborc-0.4-dev liborc-0.4-dev-bin libout123-0 libreadline-dev
           | libsndfile1-dev libsyn123-0 libsystemd-dev libtool-bin
           | libunwind-dev libvorbis-dev libx11-xcb-dev libxcb-xkb-dev
           | libxkbcommon-x11-dev )
           | 
           | libxcb-shape0-dev libxcb-keysyms1-dev libeet-bin doxygen
           | libpng-dev libluajit-5.1-dev libbullet-dev dbus-x11
           | libpam0g-dev
        
             | csdvrx wrote:
             | > By default there are some animations (for things like
             | desktop switching), but these are easy to turn off, and I
             | always do.
             | 
             | Why?
             | 
             | > It can be run in floating window, or tiling mode. >
             | Wayland support is WIP. Not recommended.
             | 
             | What you describe looks to me like Hyprland. You should try
             | it if you want to keep the same workflow on wayland!
             | 
             | > clicking the mouse on the root window brings up your menu
             | (my preferred setup),
             | 
             | This seems slow. I have the windows key mapped to drun, to
             | open floating menus. You can run many floating menus, with
             | type ahead (like fzf or fzy)
             | 
             | > You can turn off all the crap like task bar etc
             | 
             | Same on hyprland, but a good taskbar is one that doesn't go
             | against your workflow but with it: mine is very thin and
             | mostly shows the virtual desktop, if the screensaver is
             | forcefully disabled, the name and signal of the network,
             | the volume, temperature, free ram, cpu, battery charge.
             | 
             | It can be toggled off with a shortcut. There's no need to
             | list the individual running apps if each one has its own
             | desktop and run in fullscreen mode.
             | 
             | Likewise, no need to waste space on titlebars if the title
             | can go in the taskbar.
        
         | abrouwers wrote:
         | In general, I agree, and like using it. But, it's lagged quite
         | a bit regarding Wayland, and still uses some strange components
         | under the hood (acpid instead of logind, connman instead of
         | network manager, etc). I hope it becomes a bit "modernized,"
         | where it makes sense.
        
           | bonzini wrote:
           | Connman is okay, it's less featureful than network manager
           | but it's easy to use. I think some Kodi distributions use it,
           | and also available in Debian. Connman, NM and systemd-
           | networkd all strike a different balance (simplicity, server
           | usage, client usage--pick two).
        
         | kstenerud wrote:
         | This is why:
         | https://what.thedailywtf.com/topic/15001/enlightened
        
           | badsectoracula wrote:
           | This article is probably a reason why a lot of people did not
           | pay much attention to EFL but i don't think the author had
           | some misunderstandings about the API (see my other comment
           | here[0]).
           | 
           | [0] https://news.ycombinator.com/item?id=38754289
        
       | j4yav wrote:
       | Wow! I think I first used this wm 25 years ago and they are still
       | not even close to 1.0. Does anyone know what version number
       | scheme they are using? Is it actually +0.01 per year, or is that
       | just a happy coincidence?
        
       | jitl wrote:
       | Interesting, Samsung's Tizen OS used Enlightenment/EFL as its
       | native UI framework:
       | https://docs.tizen.org/application/native/tutorials/ui-build...
        
         | tetromino_ wrote:
         | Some have questioned the wisdom of that decision:
         | https://what.thedailywtf.com/topic/15001/enlightened
        
           | badsectoracula wrote:
           | IIRC the author of that article really misunderstood what he
           | was working with, for example he mentions that everything in
           | EFL is an Evas_Object but that is only for the Evas library -
           | which is a scene graph (another thing he seemed to
           | misunderstand). In addition using a generic handle for an
           | object is also something common in C APIs that want to hide
           | the implementation details for objects, especially generic
           | ones (one of the most common cases is HWND on Windows).
           | 
           | I haven't used EFL myself to judge its quality (i considered
           | it for a bit but from what i could tell it doesn't seem the
           | main developer(s) considers backwards compatibility important
           | - there is some API revamp which on one hand sounds nice but
           | on the other hand it means anything that uses the existing
           | API will stop working - though i might be wrong here) but
           | from what i could tell the author didn't really knew the API
           | he was working with.
        
             | dig1 wrote:
             | Also, the author does not seem to understand how C
             | callbacks work. Gtk uses the same stuff, hiding them under
             | "signals". Qt had an awful hack to support C++-style
             | callbacks through the MOC preprocessor, which, in the end,
             | were "compiled" into C-style callbacks. AFAIK, after C++11
             | they moved from this.
             | 
             | > If you can pass a const, you can pass a string literal
             | for example, which will then be de-const'd, so you can
             | modify it at will. Welcome to the land of undefined
             | behavior by design!
             | 
             | The author needed to understand what C is - a weakly typed
             | language that doesn't get in your way. EFL (and
             | Enlightenment) was created and led by Rasterman [1], the
             | guy who knows his craft and doesn't waste his time with
             | type-related theoretical nonsense. I find his code
             | extremely readable and performant, and he has a lot of good
             | resources to learn from.
             | 
             | [1] https://en.wikipedia.org/wiki/Carsten_Haitzler
        
               | dale_glass wrote:
               | > Qt had an awful hack to support C++-style callbacks
               | through the MOC preprocessor, which, in the end, were
               | "compiled" into C-style callbacks. AFAIK, after C++11
               | they moved from this.
               | 
               | Nothing really awful about it. MOC is the MetaObject
               | Compiler, and it's needed to support introspection. In
               | standard C++ you can't just list the methods or
               | properties any random thing has, for instance.
               | 
               | Signals are also pretty complex. At the simplest, yes,
               | they're more or less a C callback. But they can also be
               | queued and sent between threads, and that of course needs
               | special support that Qt does for you behind the scenes.
               | 
               | What changed in newer releases is that signal syntax
               | moved from using strings:
               | connect(sender, SIGNAL(destroyed(QObject*)), this,
               | SLOT(objectDestroyed()));         // This is pretty much:
               | connect(sender, "destroyed(QObject*)", this,
               | "objectDestroyed()");
               | 
               | to references:                   connect(sender,
               | &QObject::destroyed, this, &MyObject::objectDestroyed);
               | 
               | Which means connections are checked at compile time
               | instead of at runtime, and you can also connect signals
               | to functors or lambdas.
        
               | agumonkey wrote:
               | Also enlightened (and thus rasterman) had a reputation of
               | non trivial optimizations and low memory footprint which
               | was critical for early smartphones.
        
               | IshKebab wrote:
               | They didn't display any misunderstanding of C callbacks.
               | The two complaints I read were: 1. You pass a const
               | pointer in and get a mutable pointer out. 2. The value of
               | one of the parameters was inconsistent.
               | 
               | Both are valid criticisms. The first point is objectively
               | wrong API design.
               | 
               | Let me repeat, it is objectively wrong. C may not have
               | the strongest type system but that doesn't mean that the
               | intended programming model is "completely ignore const
               | correctness".
               | 
               | > knows his craft
               | 
               | Maybe. But there are plenty of programmers who achieve
               | great things while being objectively _awful_ programmers.
               | 
               | The criticisms in this article (assuming they are true)
               | are really unarguable.
        
           | IshKebab wrote:
           | Wow that's way worse than I would have expected. Especially
           | those error messages. I imagine bosses could brush off "the
           | API design is completely broken" because they don't have
           | direct experience of it but how do you accept using a library
           | with error messages like "You bitch!"?
           | 
           | I'm genuinely curious how Tizen came to use EFL.
           | 
           | Edit: I looked it up; apparently due to high performance and
           | built in theming support (which tbf I do remember being true
           | of E17 back in the day). They do also note the "unfamiliar
           | developer experience" and lack of documentation and
           | developers. Definitely an odd choice.
        
       | goalieca wrote:
       | I once E because the cool kids on IRC were telling me all about
       | it.. over 20 years ago! I think that was E16 and quickly
       | checking, it is still supported! This is older than windows XP!
        
       | haolez wrote:
       | I remember the previous version of Enlightenment (E16?) and, from
       | a design standpoint, it was really cool and productive for the
       | small resolution CRTs of old.
       | 
       | The current version doesn't give me those vibes. And I haven't
       | checked out the code of either, so I'm unaware if it's something
       | atrocious :)
        
       | colordrops wrote:
       | The types of people that were into Enlightenment back in the day
       | are now into Hyprland.
        
       | lol_catz wrote:
       | e16 is the best Enlightenment imho. and yes its true, Rasterman
       | is still a script kiddie! i still prefer windowmaker as my daily
       | driver dispute it not being a fancy compositing window manager.
       | maybe i will experiment adding my own compositor to wm one of
       | these days
        
       | cmsj wrote:
       | Shout out to the folks who used to hang out in the Enlightenment
       | IRC channel until we all got told to take the social stuff to a
       | new channel :D
        
       ___________________________________________________________________
       (page generated 2023-12-24 23:02 UTC)