Fixing a 20-year-old bug in Enlightenment E16
221 points
11 hours ago
| 26 comments
| iczelia.net
| HN
somat
1 hour ago
[-]
"Sadly, the hang was deterministic"

No, no, you rejoice, a deterministic bug is the best sort of bug. because now you have a test case and a solid method to know when it is fixed. The sad bugs are the ones you can't find a test case for.

I also got a bittersweet chuckle out of how the author considers it a lightweight environment, I mean, they are not wrong, but think of how far we have fallen when e, the ultimate bling desktop environment is considered lightweight.

reply
kdhaskjdhadjk
15 minutes ago
[-]
But it is light weight. Fabulously so. The "bling" just comes from the ability to write theme files to customize the appearance of window decorations and menus. IIRC it was a fork of fvwm from way back in the day, and similarities can still be seen in the config files. I use it on everything including old 32-bit systems, and it's snappy and responsive everywhere.
reply
breton
1 hour ago
[-]
> because now you have a test case and a solid method to know when it is fixed.

And where is fun in that? Where are now the nights in trying to reproduce it? Where are the doubts in the moments of rest "have i really fixed it, or is it still there"? Boring.

reply
azalemeth
1 hour ago
[-]
The author is 21 (which I find incredibly impressive) and is using a DE that was written when they were a baby.

It _is_ lightweight in that context. I also love the fact that XaoS knowledge is useful in the context of "real software" programming!

reply
wvh
7 hours ago
[-]
This is a flash from an almost forgotten past. I'm happy people are still using and even improving Enlightenment.

I used to run Enlightenment in the late nineties and early 2000s, first by itself, then with Gnome bar. At some point Gnome turned hostile on power users and I switched to KDE, leaving also Enlightenment behind, as well as any extensive customization of my desktop. At that time, the ubiquitous themes.org also got in disarray, and I feel it was a bit an end of an era of design and theming experiments on the early Linux (and *BSD) desktop.

reply
pino83
5 hours ago
[-]
Wasn't Enlightenment something that just looked good in screenshots (compared to Win XP or even earlier ones)? I love desktop environments that look nice, I love effects and animations, if done well, and I love to be able to customize things (KDE/Plasma is doing a really good job in that regard imho). But Enlighenment? Whenever some screenshots excited me, I gave it another try for some hours, and then went back to KDE or Gnome.

It's what you call "ricing" today? You need it for some nice screenshots (or screencasts nowadays), you post them, and then you log off and use something else (i.e. the smartphone, the gaming console, Windows, KDE/Gnome, ...) because that just actually works.

reply
ryandrake
29 minutes ago
[-]
> Wasn't Enlightenment something that just looked good in screenshots

Yea, this was my memory of it, too. I remember installing it, and making a theme that looked all "elite" and cool. I added an anime character desktop background, as was required at the time. Took a few screenshots, basked in how cool I was, and then just switched back to whatever I was using before (I think Gnome).

reply
wink
2 hours ago
[-]
People have different tastes and opinions, and I don't remember how GNOME looked in 1998, but KDE 1? 2? wasn't so great imho (saying that as a huge fan of plasma, and intermittent KDE user for the last 25y).

I used enlightenment for a bit and was very happy with it - just like some things on a desktop at home don't matter, but do on a laptop. I've more than once mangled i3 and gnome or xfce or kde together to have the "desktop environment" things like wifi and power management and so on.. whereas in the 90s on a desktop I cared about neither of these things.

And while this was all very much a long time ago, I don't see how enlightenment would have changed - it's just a bit barebones compared to a DE, just like i3.

reply
pino83
1 hour ago
[-]
> KDE 1?

Yeah, compared to Win 95 at least, it looked interesting in a positive way...

Problem was: Whenever you clicked on something, some message box appeared, with some one-line error message that contained the word "unknown" or "unexpected"... :)

reply
badsectoracula
29 minutes ago
[-]
With KDE1 is was most likely "Not yet implemented" :-)

I never used KDE2, KDE3.x was rock solid though. It wasn't until KDE4 where things took a massive nosedive and everything was crashing if you looked at it wrong - something that lasted until most of KDE5's lifetime, though by late KDE5 and now KDE6 it seems to be fine.

Well, "fine", for some reason Wayland sessions crash and restart the entire session whenever i press any key (doesn't happen with Xorg sessions), so i guess there are still some minor bugs to be fixed :-P

reply
prmoustache
2 hours ago
[-]
I used E17 for a while and the killer feature for me were independent virtual desktops accross monitors, meaning switching virtual desktop would only switch it on the monitor your focus was on.

I ultimately switched back to KDE despite that ergonomic advantage because it crashed too often and then to Gnome because KDE also crashed too often. Gnome has been rock solid ever since.

reply
TD-Linux
2 hours ago
[-]
Funnily enough, KDE got this feature yesterday: https://invent.kde.org/plasma/kwin/-/merge_requests/8602
reply
prmoustache
1 hour ago
[-]
Awesome! I might try it again, tbh I have KDE on one computer but I don't use it much as my muscle memory is very gnomy and I haven't taken the time to tried to switch back in long term and I admit until hearing about that very little strong incentive to do so.
reply
pino83
2 hours ago
[-]
I know that people never want to hear such remarks... At least I never want... But I risk being the idiot anyways: KDE/Plasma doesn't crash here so often. I've seen it actually happening in the last years. Unfortunately!!!! Maybe two or three times... And then, it just restarted in a matter of a second. It did not affect anything. No running apps crashed. Just the task bar and the desktop went away for a second.

How long have you tried, and how long are you now trying Gnome?

reply
prmoustache
1 hour ago
[-]
That experience was almost 20years ago, between 2006 and 2009 (I had to check linkedin because I only remember which employer I was working for) so based on wikipedia it was still KDE 4 wich was very unstable.

I tried a few times KDE 5 over the years out of curiosity then more recently KDE6. I have it on one computer but I rarely use it as it is the gaming machine and I very rarely play videogames. The thing is I got so used to the ergonomy and shortcuts of gnome and i3/sway that whenever I use KDE I need either a lot of time to get used to the default keyboard shortcuts and layout and/or I need to take time to modify/configure it. But since I have been fairly happy with gnome and sway I don't really have much insentive to switch again. No hater really.

reply
pino83
1 hour ago
[-]
KDE 4 was indeed a huge mess... All 4.x version. Even if every changelog had the sound of "Now the glitches are fixed; you can now start using it". It never was...
reply
mghackerlady
2 hours ago
[-]
I actually use my riced setups. Part of a good rice (at least for me) is it being ergonomic and usable. It should, of course, look good
reply
mackman
5 hours ago
[-]
E13 was a great, simple, good looking WM I used for years. Eventually moved to Fluxbox then back to macOS when it went Unixy.
reply
pino83
4 hours ago
[-]
In my personal experience - as far as I can remember - it always stopped to be good looking when it wasn't a screenshot anymore but a running process on my machine. In motion, all the eye-candy became ugly and foolish and visibly hobbyist, and as soon as I began using some applications outside of the E-ecosystem, the last sparks of fanciness went away anyways.

But that was... idk... E16 or so?! I really cannot remember. Maybe it had better times earlier, or maybe (surely) people are different and have different criteria for choosing such things.

Was E13 before they started trying to be a klingon starship UI?

reply
antisol
4 hours ago
[-]
Nah, e is great! It works just fine - it's better at a lot of things because it's fairly low-spec and doesn't require a terabyte of ram and 47 quintillion floating point operations just to open a menu. And if you're using a current version they're responsive to bug reports and whatnot. It does most everything you could want. And it looks damn fine while it's doing it.

Someone showed me the kitty terminal emulator a while ago. They made a big deal about how it can display images! Right there in the terminal! Wow! I was compelled to point out that terminology has had that (and video playback, too) for a LONG time.

One of my favourite features of enlightenment is that it has this thing from back in the day called "configurability", where behaviours tend to be optional and you can decide for yourself whether you want them enabled or not. I know it's not fashionable anymore and maybe not for everyone but personally I think it's a better approach than the gnome-style "You'll take what we give you and be happy about it" approach which is in vogue these days.

reply
pino83
3 hours ago
[-]
In a lot of cases, configurability is just a workaround for the issue that devs were unable to implement sth that just works 'fine'. So you could turn it on and live with its defects, or you turned it off and live without the feature. Linux Desktop was always full of that.

But yeah, I also do not like Gnome, because they more and more just removed the switches, but without spending effort to make things fine for everyone.

Plasma is so configurable, I've never seen anything more configurable. On any OS that I've seen.

My personal experience: Yes, you can also build your own environment out of blocks. And then you configure a lot. But not in order to customize it better, but in order to somehow glue these components together in a way that somehow remotely makes sense. :-/

And what's the point of video clips in the terminal? What weakness are you trying to workaround with that? E is a graphical desktop, no? Based on X11 or Wayland. There are actual media players!! A lot. Not a single one is really great, but most will be better than the terminal, I guess. VLC is that bad?

reply
rasterman
3 hours ago
[-]
well why video in a terminal? 1. it's "free" because the toolkit already offers video objects - feature is there... why not expose it. you just call 2 lines of code or so and and tell it to play. it's similar amount of code for an image, so it's basically free really. why do still images and NOT video? why stop there when video is only a little more code. sure. if you want a movie as a background: probably a bad choice, but if it's one of those zen videos with just trees swaying in the breeze as a background or a mountain lake rippling in the wind with very little motion but enough to make it "come to life", why not? but ok - for real usability? example: you're browsing through your dirs. cd ~/xxx/yyy; ls; cd zz; ls ... oh there's cat-sunning.mp4 there... i have 87 videos of cats sunning themselves.. which was that? tycat cat-sunning.jpg -> boom. video appears in terminal - you cat'd it.. it plays (tycat is just a tiny cmdline tool that emits the right escapes to terminology. you could make it a shell alias or script too and not use tycat. escapes are documented in the readme. this works even in a dumb framebuffer without wayland or x display systems (because the toolkit handles auto-detecting its environment and if in just a tty/vt it'll fall back to fbcon or kms/drm and render there). so you get a mouse and a full-screen graphical terminal that can do splits/tiles/tabs and so on with no windowing system and you can happily still explore all your files there even if they are videos... you aren't forced to use the feature... but it's there if you need it or want it.
reply
pino83
2 hours ago
[-]
I have absolutely no doubt that this is possible to do, particularly if you assume that you already have all kinds of libraries available, and if you don't care at all about the terminal ecosystem in general.

And then you only need access to the mouse position in pixel granularity, and you basically have the foundation for a graphical environment. We can implement Qt and GTK for that new thingy. So there is finally a usable text editor available in a Unix terminal! Email clients that don't make you sad! You can finally navigate your files in a less lousy way!

And, of course, we can then also port these E libraries, so we can start their terminal app inside their terminal app inside their terminal app!

But: What is it for? Why not use your graphical environment in a direct way? The existence of terminal emulators is the proof for it being at least as strong (or stronger) as your terminal can ever get. Right? So what's the point of this indirection? I just don't get it...

Yes... Let's imagine I regularly look through my files. And these files aren't plain text (otherwise it would just be cat or mcedit) and aren't ODT files, kdenlive projects, Gimp files, ..., ..., but they are particularly png or jpeg or mpeg (or whatever the tycat thingy understands). And I want to do that via ssh. And I always have this E terminal in range. Then this is one valid option to do so imho. Still a very weird, freaky, odd one. But it would somehow make some sense to me...

reply
antisol
2 hours ago
[-]

  > or whatever the tycat thingy understands
You're missing the point, which is that the EFL library just has media playback built into it - for a lot of different formats. Like Carsten mentioned, tycat doesn't do anything special, it just emits the right escape sequences to tell the terminal "display file X". And then terminology just says "hey media library, give me a player for file X". tycat doesn't need to know or care about file formats, nor does terminology.

  > And then you only need access to the mouse position in pixel granularity, and you basically have the foundation for a graphical environment. We can implement Qt and GTK for that new thingy. 
You (rightly) say this sarcastically. But people have done things like this. I was playing around a while back with embedding GUI elements like buttons inside terminology. I've got a library (which I should finish) to display gorgeous GUI-style progressbars in terminology. This also works for things like buttons - it's possible to display an actual GUI button inside the terminal, and to have it emit events that you can respond to. Limited real-world practical value, perhaps, but interesting IMO.

  > But: What is it for? Why not use your graphical environment in a direct way? 
Rasterman and I have both given examples of how this improves the terminal experience. Being able to preview media files in your terminal is a direct, measurable enhancement to usability: it removes the context switch and time of having to fire up a media player to preview a file, and the need to move your hand from keyboard to mouse and back.

  > What is it for? Why not use your graphical environment in a direct way? The existence of terminal emulators is the proof for it being at least as strong (or stronger) as your terminal can ever get. Right? 
I'm not sure what you mean by "at least as strong as your terminal can ever get"?

We do also use our graphical environment. It's just that our terminal also happens to not be stuck in the 1970s and pretending it's running on a teletype. Decades ago someone could have made a very similar argument to the one you're making that we shouldn't have added colours to terminals because real dumb terminals are all green or amber screen.

It's at least partially about pushing the envelope, not accepting the status quo, and trying to improve things. Terminal emulators tend to have a fixed feature set and there's a bunch of things they can't do that would be nice to have.

I mentioned the kitty terminal emulator before. It's doing similar things. And it's quite popular with the kids. These enhancements to terminals are a good thing! I'm glad these people are experimenting with things even if they turn out to not be very useful (and many terminology improvements are great!)

Another great example of this type of thing is the tysend command, which lets you download files without starting a new ssh session: you're ssh'd into some remote machine and you want a file. You can switch to another terminal and scp, or (as long as the host you're logged into has tysend), you can just do 'tysend /path/to/file'. Terminology pops up a (very pretty) save dialog asking where you want to save the file, and then displays a (very pretty) progress bar while the transfer happens.

I think maybe you need to try terminology to understand the many, many ways it's superior to a more conventional terminal emulator. For me, terminology is definitely enlightenment's "killer app". You can try it just by installing it, btw - you don't need to be running enlightenment :)

reply
pino83
58 minutes ago
[-]
> You're missing the point, which is that the EFL library just has media playback built into it - for a lot of different formats.

As far as I understand, you're missing the point. Every format that someone now wants to handle on terminal, needs to be supported by the EFL library?! Does it support LO spreadsheets? PDFs? Audacity projects? Raw camera images? HTML? Yes? And now I want to switch away from LO to some very new office tools, and I cannot, because EFL doesn't support it yet?

And all that just in order to show some previews in a terminal emulator instead of the graphical environment around it that is perfectly capable to do so since half a century? Where all the applications already exist?

> tycat doesn't need to know or care about file formats, nor does terminology

Fine. Just replace tycat with EFL in what I wrote before.

> I was playing around a while back with embedding GUI elements like buttons inside terminology. [...] Limited real-world practical value, perhaps, but interesting IMO.

Yes, it sounds like an interesting puzzle. But it's artificial. It solves a problem that just doesn't exist at all, and it doesn't actually improve anything, as long as it's not universally supported (at least in an actual Linux virtual terminal outside of X11/Wayland).

> Rasterman and I have both given examples of how this improves the terminal experience.

But why are you trying to improve the horse riding experience, if you actually have a car that is just artificially stripped down to feel like a horse? Just use the car as a car instead! ;)

What context switch are you talking about? Your eyes moving to where the new window opened? srsly?

Why can't the same folks not improve keyboard support in e.g. VLC? If it's actually so bad... Is it? I rarely feel the desire to keyboard control a media player, admittedly... But I would be surprised if VLC is worse in that regard than some terminal thingy that is a niche inside a niche inside a niche... A terminal media player needs the same explicit development work to get it right. It's not magically keyboard-friendly just because it involves antiquated technology for displaying.

> and time of having to fire up a media player to preview a file

You fire up a new tycat instance instead. What's the difference? Here VLC takes, idk, 500ms?! Half of it is the window animation that I could turn off, if I would dislike it (I don't).

> I mentioned the kitty terminal emulator before. It's doing similar things. And it's quite popular with the kids. These enhancements to terminals are a good thing!

Yeah, make them universally work on any virtual terminals, and then it'd be at least an interesting discussion whether this was an actual improvement or not. As long as I need some E terminal, or a particular terminal that is "popular with the kids", I really don't see at all why this is a good idea to spend any efforts for. Just use the car as a car, instead of disabling the engine, pretending it to be a horse, and then find clever ways to make it feel more like a car again. It already _is_ a car. Don't make up artificial restrictions that do not exist, just in order to find mediocre ways to somehow patch parts of them away a bit.

Give Dolphin a chance! It's like the kids' vi setup, just with slightly different shortcuts, and without all the weaknesses. It even can render actual icons without a patched terminal font! And if keyboard support is weak, then this is not because it's not a terminal application. Make them a bug report. Or, if appropriately skilled, send them a patch! Then we all profit from it.

Bonus: It can display emojis, without breaking alignment in half of the terminal emulators, because the actual glyph width differs from what the "API" (i.e. dancing some escape sequences and somehow intercept the answers from somewhere) tells you.

reply
antisol
2 hours ago
[-]
hey Carsten! o/

Haha, you beat me to it. Basically the same example.

reply
pino83
2 hours ago
[-]
This is maybe because it's quite hard to find some?! ^^
reply
antisol
1 hour ago
[-]
more "just the best, first example that springs to mind" - Great minds something something.
reply
hulitu
3 hours ago
[-]
> that devs were unable to implement sth that just works 'fine'.

Just like today. But we lost the option to make it work.

reply
antisol
2 hours ago
[-]

  > In a lot of cases, configurability is just a workaround for the issue that devs were unable to implement sth that just works 'fine'. 
No - You're making the assumption that everyone wants everything to be the same. Which is the same faulty assumption responsible for so many horrible horrible user interface choices made since smartphones became a thing.

For instance, there's a setting in enlightenment to allow you to choose how scrollbars work - you can:

a) Have sensible scrollbars like graphical applications have had for 40+ years, or

b) Have 'hover at the right to show the scrollbar and make it virtually impossible to select the last item in a list' behaviour, like the gtk-bros insist you want, or

c) Have no scrollbars at all if you prefer. Maybe you've got a touchscreen or a wheel mouse and a tiny screen, or whatever.

In e, this is just a setting where the user gets to choose what their computer does.

I know, it's a pretty revolutionary idea. So I'll just say it again: the user is the one who chooses what their computer does.

I haven't played with KDE seriously since the days of Corel Linux. I tried KDE4 back when it was a new thing, observed my desktop running at <1fps for the 10 minutes it took me to exit, and never tried it again. I've since heard good things about plasma. One day maybe I'll try it.

  > And what's the point of video clips in the terminal? What weakness are you trying to workaround with that?
Aha, I can tell you haven't tried it! :)

It's a fantastic way to preview videos. You type "ls", and it gives you a list of files. And you say to yourself "Huh, I don't remember what 'video_clip_1280p.mp4' is. So you right-click on the filename and choose 'preview', and the video pops up in your terminal window and starts playing. And once I know what the file is I press escape and I'm back to where I was. It's marvellous! The only way I could think of improving this would be if there was some way to do it without any mouse interaction... like for example by typing 'typop video_clip_1280p.mp4'.

I do watch my movies in either vlc or mpv, usually - nobody is actually sitting around watching movies in their terminal (I hope!). For that, you use a media player. But for quickly previewing videos / images / audio (yes, audio too!), it's :chef-kiss:

I also have a custom command_not_found_handle which displays a randomly-chosen animated gif from a list I've built up (things like picard facepalming and people shaking their heads), along with a nice ascii art message in the vein of "You suck!" when I type an invalid command [1]. The reason I have that is........................................because it's fun!

[1] https://imgur.com/a/tL9h8Xs

reply
pino83
2 hours ago
[-]
Well, I explicitly said that I dislike Gnome for that. Sure, there are switches that are fine for actual customization, in order to actually adapt to personal preferences instead of work around technical weaknesses. I love how configurable Plasma is.

When I read further, about your scrollbar example, I wasn't sure if I would consider that a good example for your point or for my point... ^^ Anyways... Maybe it's a corner case. Fine. Not the worst one I've ever seen.

> I know, it's a pretty revolutionary idea. So I'll just say it again: the user is the one who chooses what their computer does.

That's obviously just the 2nd part of the story. At least so far. In some years, sure, every user (of FOSS software at least) can vibecode her own creepy set of features...

> It's a fantastic way to preview videos.

What you describe sounds exactly like what I would do, but I would start Dolphin instead. It's another shortcut for closing it. That's it. On the other hand: Here I can start arbitrary applications. For a LO-spreadsheet, LO would start! For a Blender model, Blender would start! VLC starts so quickly, and can read any remotely valid video file. I still don't really understand what I'm missing tbh...

> I also have a custom command_not_found_handle which displays a randomly-chosen animated gif from a list

Well, okay, that's far away from my taste how a system should behave... Maybe I'm just too old... ^^

reply
antisol
1 hour ago
[-]

  > personal preferences instead of work around technical weaknesses
These are the same thing. Your personal preference is my technical weakness. Everybody has different requirements. The scrollbar is a great example: There might be a use-case for the (absolutely abysmal IMO) disappearing scrollbar pattern gnome wants to push on people. Maybe it's screen real estate. Having a scrollbar on a tiny screen could be argued as a technical weakness (and the mobile UI crowd did just that). But I don't have a screen real estate shortage on my 5760x1080 workspace. And people with certain mobility or perhaps vision issues might find the disappearing scrollbar to be completely unusable. It's actually an excellent example of my point. - there's no way to implement something as simple as scrollbars that will make everyone happy. AND THIS IS FINE! and good! as long as the user can choose.

  > What you describe sounds exactly like what I would do, but I would start Dolphin instead
Then it's not "exactly like" what I would do at all - you'd take your hand off your keyboard and switch to your mouse to use a graphical file manager tool. And you'd wait for however long dolphin takes to start and enumerate the thousand files in that directory, and you'd watch your disk spin and your ram usage shoot up while it previews all the image files and videos in the directory, and counts items in the subdirectories. And then you'd wait while vlc starts up and click around to control that. Meanwhile I've already done 'typop cat_s<tab><enter>' in the software I already had running and am half way through viewing the video without my hand leaving my keyboard.

  > On the other hand: Here I can start arbitrary applications. For a LO-spreadsheet, LO would start! For a Blender model, Blender would start! 
Um........... wow! I guess. That's pretty revolutionary! Starting programs! Gee, I guess it must not have been possible to start programs from a terminal since before GUIs were a thing! and xdg-open is not a thing, either. This seems like a bizarro-world argument to me.

  > VLC starts so quickly
VLC absolutely does not start as quickly as terminology can pop up a preview. And it especially can't do it as seamlessly as terminology. Notice how you're starting a thousand different things in your examples? Yeah, I'm just doing all that from a single program. One that I already had running. It's fantastic. The only time I need to start a different program is if EFL doesn't support that filetype. And then it's trivial to do what you would do with xdg-open or libreoffice or blender.

  > that's far away from my taste how a system should behave... Maybe I'm just too old
No, I feel you - it is (intentionally!) a bit obnoxious. But it's also a fun, makes me chuckle all the time. To each their own. Sort of like the user preferences thing: You might not like it, but that doesn't mean nobody could ever want it.
reply
pino83
43 minutes ago
[-]
> Then it's not "exactly like" what I would do at all - you'd take your hand off your keyboard and switch to your mouse to use a graphical file manager tool.

Definitely yes. That's what I'd definitely do. But there is no inherent reason for that. It just feels superior to me. Why should graphical applications be fundamentally worse (e.g. in terms of keyboard support) than terminal applications when terminal emulators are a graphical application?

> And you'd wait for however long dolphin takes

Yes. All these 800ms! Every single day!

> And you'd wait for however long dolphin takes to start and enumerate the thousand files in that directory, and you'd watch your disk spin and your ram usage shoot up while it previews all the image files and videos in the directory, and counts items in the subdirectories.

Yeah, well, technically, of course. It just never felt like "waiting". It's a matter of milliseconds. And while it enumerates the thousands of files, I can already start working with the first ones. I don't have to wait for some software from the 80s that blocks user input meanwhile. BTW, terminal applications don't need to enumerate directories when they deal with it? How does that work? Even if you just press "tab" in your shell, it will probably do exactly that, no? I really don't see why terminal applications should be fundamentally faster than graphical applications in that regard (again: your terminal emulator is a graphical application, right?). If you know the file name starts with "cat_s", then you can also find it this way in Dolphin.

There are corner cases where I really search in a trickier, more dynamic way. Maybe with "find". Or five lines of Python scripting. But not hundred times a day. Definitely it's not worth rewriting every application now as a terminal app (that tries to be a graphical app via niche-in-niche technologies).

> Notice how you're starting a thousand different things in your examples? Yeah, I'm just doing all that from a single program.

Yes, that's one of the things that I feel so spooky with that approach. It cannot work... Not in general. Maybe for a handful of persons that constantly search for jpeg/png/mpeg files, in bulk mode, and need quick previews. For whatever actual job they are doing there...

reply
pino83
3 hours ago
[-]
PS: When can terminal apps get mouse coordinates in pixel granularity?

Then Qt and GTK can have backends for terminal( emulator)s and I can finally run a graphical terminal emulator inside a terminal emulator? tmux and screen will be dead!!! :D

And when do the terminal hacks for AR glasses start to appear? I still cannot walk through vimacs? Doing ":q!" with just some head gesture? Why not??

SCNR

reply
avereveard
6 hours ago
[-]
same, especially compiz era after good drivers and accelerated compositing became ubiquitous was wild
reply
pvtmert
2 hours ago
[-]
I liked the author's pragmatic take on the stability. Indeed that running bleeding edge now has implications to greater attack surface as the supply-chain attacks getting more and more common.

A nice and sincere excerpt from the recent past...

> Back when the XZ backdoor was introduced, I was scrolling through news on my Debian Sid laptop with some code compiling in the background. I learned of a backdoor in XZ Utils, potentially introduced by a state actor in version v5.6.0. Thinking back to the fact that I do, indeed, run a bleeding edge distro and update often, I immediately ran apt list --upgradable | grep xz-utils. Sure enough, the stains on my laptop from the coffee I spat out through the nose2 were pretty tough to deal with.

reply
kdhaskjdhadjk
5 minutes ago
[-]
To put a finer point on it: running bleeding edge does not just now have implications of a greater attack surface, it always has had such implications.

It's just that a tiny fragment of people are suddenly becoming aware of this fact (the masses always remain clueless), whereas others have known it for some time. The people are referred to as "crazy tinfoil hat nutters."

reply
exitb
6 hours ago
[-]
It's such an underrated advantage of open source operating systems that if you like some bit of software, you'll likely be able to use it for decades to come. Even a core bit of software like a window manager. I grew to hate how you need to conform to someone's whim at Apple or Microsoft, or else you get locked out of new features.
reply
PunchyHamster
5 hours ago
[-]
Well, unless you decided to use GNOME, then you get rugpulled by a bunch of people that think they know better than user what user wants and actively ignore any feedback
reply
badsectoracula
18 minutes ago
[-]
There are forks though. The only version i don't think that has a fork is GNOME 1 but... the code is out there (and there is an actively maintained GTK1-based toolkit that was posted here not too long ago, though you may need to make some modifications to the GNOME 1 code to work with it as IIRC it isn't backwards compatible).

People made CDE to work on modern systems and IIRC CDE wasn't even compatible with Linux when the code was first released.

reply
cdmckay
4 hours ago
[-]
You can always fork it if you don’t like the choices they make

That’s the point the OP is trying to make about the advantage of open source

reply
bandrami
4 hours ago
[-]
That's happened like three times to the extent that the forks are more widely installed than the original
reply
ldng
4 hours ago
[-]
And people did but it is hard against Redhat that has actively made harder and harder to use Gtk+ outside GNOME.
reply
jdiff
4 hours ago
[-]
What changes have been implemented in GTK that make it harder to use outside of a GNOME environment?
reply
mghackerlady
2 hours ago
[-]
practically everything in GTK 4. It removed menu bars ffs
reply
gtk40
3 hours ago
[-]
But you can also use MATE still to this day, or even Cinnamon.
reply
antisol
4 hours ago
[-]
Hey! Someone sneaked into my brain and wrote down my exact comment!
reply
ZoomZoomZoom
7 hours ago
[-]
> Sadly, the hang was deterministic:

Huh, someone's in it for the thrill of the hunt, I see...

reply
ho_schi
6 hours ago
[-]
I wonder about the sadly.

Luckily the hang was deterministic.

reply
nickcw
6 hours ago
[-]
Sadly as in "Oh dear, I better start debugging this" I think.
reply
zeruch
9 hours ago
[-]
The amount of abuse I hurled at Carsten Haitzler (Raster) during our time at VA Linux (where he worked on E as well as other stuff) was a complete sitcom unto itself; at one point he debated making a "zeruch insult generator" just to streamline the verbal abuse process.

I loved using the environment but would regularly harangue him for being glib on resource usage. It really was otherwise very ahead of the curve.

reply
robinsonb5
7 hours ago
[-]
It's a delicious irony that E is now a super-lightweight system compared with the mainstream environments that plauge our RAM chips today.
reply
angled
9 hours ago
[-]
I still remember how cool I thought raster was with his vaio and everything. This was the future! Transparent eterms and tasteful backgrounds everywhere.
reply
sneak
6 hours ago
[-]
it’s not a valid enlightenment screenshot without a digital blasphemy wallpaper.

(digital blasphemy is still around and still selling art.)

reply
jimjimjim
5 hours ago
[-]
Yes! Thank you. That’s a blast from the past
reply
dolmen
7 hours ago
[-]
I remember fondly of a raster talk at FOSDEM about 20 years ago: playing videos inside a terminal. Amazing!
reply
dspillett
7 hours ago
[-]
> tasteful backgrounds everywhere.

Certainly not everywhere. I definitely remember plenty of tasteless ones, some deliberately so and others just cases of other people's taste differing from mine!

reply
angled
5 hours ago
[-]
This was the era of !hurl, after all …
reply
unwind
9 hours ago
[-]
Fun post! Very happy to see a 20-something year old find and fix bugs in an X11 wm from before they were born. Gives me hope.

There was some kind of editing snafu though, the loop header in the big (first) code block reads:

    for (i = 0; i < 10; i++, nuke_count++)
But the references to it in the text, and updated versions in the patches, show it as just

    for (;;)
That was confusing me a bit.
reply
isaacfrond
9 hours ago
[-]
In the article just before that code:

The loop is of paticular interest to us. Abridged:

reply
prmoustache
7 hours ago
[-]
Funnily, E16 was considered a rather eye candy but heavy WM/environment back in the i486 / early pentium days, now it is considered lightweight!
reply
jhbadger
7 hours ago
[-]
And detractors of Emacs used to claim that it stood for "Eight Megabytes And Constant Swapping" meaning that even on a then-huge machine with eight megabytes of RAM Emacs would use up all the memory. Now it is a tiny program compared to things like Visual Studio Code.
reply
kkaske
2 hours ago
[-]
Things change. The tab in Brave that I'm using to view this comment section is coming in at 95MBs!
reply
ChrisGreenHeur
7 hours ago
[-]
one of the more interesting things to think about is the big push to rendering all window manager stuff through a gpu, because we were sure we needed drop shadows and geometry transforms for windows....

Now, what we actually do in a window manager could easily be done in software in realtime, just farmed out to some cpu core.

reply
pjc50
6 hours ago
[-]
> because we were sure we needed drop shadows and geometry transforms for windows

As screens get larger, the amount of pixels you need to push to composite windows gets larger-squared. It makes sense to move the pixel pushing away from the CPU and more importantly away from CPU-RAM and on to a separate RAM bus.

The "single buffer with invalidation" model of Win16 (I cannot remember how it works in X) saves memory at the cost of more redraws. The composition model allows you to do things like drag window A over window B without forcing a repaint of window B every frame.

It also allows for better process isolation. I think in both Win16 and X11 you could just get a handle to the "root window" and draw wherever you wanted?

reply
badsectoracula
10 minutes ago
[-]
> The "single buffer with invalidation" model of Win16 (I cannot remember how it works in X)

Same way, they both come from Macintosh (which, if i remember the apocrypha correctly, was Bill Atkinson's idea based on what he thought Xerox Smalltalk was doing even if it turned out it wasn't working like that).

reply
ChrisGreenHeur
6 hours ago
[-]
eh, there is nothing a gpu can do here within the concept of composition that a cpu could not also do. the gpu simply has buffers that it compsits, the cpu can do that as well. with the benefit of less complexity leading to not needing to worry about driver crashes. on sane architectures its all the same ram anyway
reply
pjc50
6 hours ago
[-]
> eh, there is nothing a gpu can do here within the concept of composition that a cpu could not also do.

True, but which is more efficient?

> on sane architectures its all the same ram anyway

Opinions differ. The main benefit of splitting RAM is not having to share the bus. As I said, this lets you use the CPU for CPU things without having to spend precious DRAM bandwidth shovelling pixels.

reply
pjmlp
9 hours ago
[-]
Oh, people are still using Enlightenment.

My last time I used it was still in the 1990's, before I settled into Afterstep and soon afterwards Windowmaker.

In what concerns my use of GNU/Linux, it was CDE on others.

Apparently nothing big came out of Enlightenment and Tizen.

reply
nobleach
5 hours ago
[-]
I still install it and play with it for a bit every other year. I really appreciate that it's held true to its own core. Yes it works with Wayland now, but it's still using its e-foundation libraries. I still wish I had screenshots of my desktop from 1998/1999. Downloading cool software from Freshmeat, hitting up Slashdot (news for nerds... stuff that matters) to see what was going on. Kinda wish I was into IRC back then but I was more of an ICQ->AIM chatter. It's an era I wish we could have back.
reply
mhd
7 hours ago
[-]
Enlightenment always had a pretty weird value proposition. In the very beginning, there was "fvwm-xpm" and early "E" prototypes. They were graphically crazy with a heavy focus on shaped Windows. There's still nothing quite like that weird steampunk/Brazil-ish theme they had. Probably for a reason.

Then they went both visually rather tame and scope-creepy (own graphical libraries etc.). At the beginning I was hoping that we'd get some kind of Amiga-influenced design sensibilities on X (basically a more "artsy" MUI), but that never manifested.

reply
pjmlp
6 hours ago
[-]
Yeah, I got introduced to it via some friends that were former Amiga users.
reply
vidarh
4 hours ago
[-]
In '99 or so, I ran Enlightenment with Amiga-style draggable virtual desktops. As a former Amiga user, it made me very happy.
reply
antisol
4 hours ago
[-]
reply
vidarh
3 hours ago
[-]
Yeah, I saw that back in the day, and it's great, but that was too faithful. I liked the eye candy of Enlightenment, but with a nod to the nostalgia...

There is still a lot of things I miss from the Amiga, but I'm acutely aware that a lot of what I wish for are based on rather rose-tinted memories.

reply
antisol
1 hour ago
[-]
I feel you. Same reason I don't use amiwm.

  > There is still a lot of things I miss from the Amiga, but I'm acutely aware that a lot of what I wish for are based on rather rose-tinted memories.
Yes! I have often wondered what it would be like trying to daily drive an OS4 amiga for modern stuff. I suspect it probably wouldn't be super awesome, mainly due to lack of software for modern things. But I'd really like to try it - if only I could run OS4 on an x86 PC*. I would definitely try it out.

(* yes, I know I can run it in an emulator, but that's not the same)

One thing I'd particularly love to see is something like ARexx adopted in modern OS's and software. It would be super-useful to have most applications expose something like an arexx port, would make a lot of cool things very easy to do.

reply
vidarh
43 minutes ago
[-]
The odd thing is that a lot of Linux software does have Dbus support, but it somehow feels like the barrier is a lot higher and buy-in a lot worse. Just throwing together ad-hoc scripts w/dbus feels like it has a higher barrier.

Datatypes is another obvious one - present-day Amiga's can support modern image formats in apps that haven't seen updates for 25+ years...

I recently added hacky assigns to my (very hacky) little shell, as an experiment, as it's one of those features that feels like it's "just" link symlinks setting an environment variable to a path, but as it turns out it really is a lot more ergonomic (to me at least).

I've settled on a tiling wm w/one floating desktop to sort-of emulate how I typically used my Amiga screens, and that I like.

> if only I could run OS4 on an x86 PC*. I would definitely try it out.

AROS would be the closest thing. E.g. AROS One (a distribution)

https://sites.google.com/view/arosone

It's been many years since I spent any time on AROS, so I don't know what it's like at the moment. Back then I could boot the Linux-hosted version of AROS with a startup-sequence that booted straight into FrexxEd (editor w/extensive AREXX support co-written by the author of Curl) faster than a default install of Emacs would start on the same machine.

reply
antisol
29 minutes ago
[-]
You make a good point about dbus. It is sooooort of similar if you squint. But I think both your points are correct. I feel like the buy-in factor is probably the big one - I think if there was lots of buy in the tooling would probably get easier.

How did I not think of datatypes? Yeah, omg they were do great. I'll never forget my amazement when I installed one (I think for jpeg) and now just everything supported jpeg.

I think IIRC beos did something similar to that.

Oh yeah I've seen AROS, but like you I haven't actually fired it up in a long time. The last time I did it was "Amiga Research Operating System".

I just noticed on their wikipedia:

  there is also an ARM port for the Raspberry Pi series
That sounds like a good excuse to break out one of these pis I have sitting around!
reply
jimbosis
4 hours ago
[-]
AV Linux uses Enlightenment 0.27.1. The creator of that distribution also offers a version based on Moksha 0.4.2, the E17 fork mentioned elsewhere in this thread.

https://www.bandshed.net/

Latest Version Release Announcement:

https://www.bandshed.net/2026/03/01/av-linux-and-mx-moksha-2...

A few more details from and older release announcement:

"Both ISO’s are built on an MX Linux 25/Debian Trixie base with Liquorix kernels."

https://www.bandshed.net/2025/11/27/av-linux-and-mx-moksha-2...

reply
UncleSlacky
5 hours ago
[-]
Moksha (a fork of e17) is the main desktop for Bodhi Linux, an unofficial Ubuntu-based distro:

https://www.bodhilinux.com/moksha-desktop/

https://github.com/JeffHoogland/moksha

reply
pjc50
6 hours ago
[-]
I was also a huge fan of WindowMaker. Simple, effective, stylish without getting in the way. Also allowed me to have a vertical taskbar, which I stuck with even on Windows until Win11 has taken that from me - because Mac is the arbiter of taste and everyone must copy it.
reply
shakow
5 hours ago
[-]
MacOS definitely lets you put the dock wherever you prefer.
reply
mghackerlady
2 hours ago
[-]
in fact most professionals I know who use mac prefer the dock on the left or right side
reply
pjmlp
6 hours ago
[-]
Win 11 has some niceties, however many of those could have been provided on Windows 10 as well, for example the security stuff like VBS and secured kernel were already available, even if disabled by default.
reply
fragmede
6 hours ago
[-]
Oh man, that takes me back.

shell=C:\LiteStep\litestep.exe

reply
sgt
7 hours ago
[-]
Funny, I was also one of those people who switched from E to WindowMaker. At the time I had no idea it resembled NeXTStep, but it was great.

After that I changed to KDE 3 which was a major milestone at the time. I think GNOME at the time was technically superior though.

Then shortly after I realized that desktop on Linux wasn't really going anywhere, so I switched to macOS (OS X at the time).

reply
pjmlp
6 hours ago
[-]
Kind of similar story, eventually I ended up on GNOME, as I favoured Gtkmm over how KDE was at the time, but then GNOME 3.0 happened, and my travel netbook got migrated into Unity, and when it went away, XFCE.

Due to similar realisation, my main working devices became Window 7 with Virtual Box/VMWare Worstation, nowadays WSL.

reply
BozeWolf
9 hours ago
[-]
I am still waiting for e17. I stuck to e16 for a long time until ubuntu got a thing which was much more convenient than gentoo.

I had the classic setup with the apache helicopter on the background and virtual desktops with preview. On MacOS however.

To this day i am still using a single screen, with virtual desktops ordered the same way.

reply
UncleSlacky
5 hours ago
[-]
They're up to e27 now, it even supports Wayland.
reply
mrweasel
9 hours ago
[-]
> It’s themable, hackable, lightweight

Certainly wasn't considered lightweight back then :-)

I never saw the appeal of Enlightenment, but a very nice write-up regardless.

reply
drooopy
9 hours ago
[-]
No kidding. Last time I used Enlightenment back in the late 90s, both KDE 1.x and GNOME 1.x were orders of magnitude more usable on my lowly Pentium MMX 166 with 16 MB of RAM.
reply
sqbic
9 hours ago
[-]
I love Enlightenment still, even the new ones. The most important component of it to me is Terminology. What a gorgeous and functional Terminal emulator.
reply
manbash
3 hours ago
[-]
I always appreciated how you can simply attach to the enlightenment process at any point, and also upon a crash.

The documentation is there: https://www.enlightenment.org/contrib/enlightenment-debug

reply
cheschire
6 hours ago
[-]
https://www.enlightenment.org/ Seems down at the moment.

Coincidence, or collateral hug?

reply
rasterman
3 hours ago
[-]
that was literally me... i stopped it because... well.. short version - chasing bug in efl that blurted out an invalid object stdout errors when http requests for the forecasts module failed - the module relies on a caching proxy service on e.org to get weather forecasts. i simulated it a bit brute-force by temporarily taking down apache :) it's back and bug is fixed in git. it's silent now not complaining about invalid objects.
reply
jojobas
5 hours ago
[-]
It was a load-bearing bug you reckon?
reply
mghackerlady
2 hours ago
[-]
I really wish there was more EFL software :(
reply
madaxe_again
10 hours ago
[-]
E16 was the hook that caught me and landed me, flopping and writhing, on the decks of Linux - I saw a black and white printout of someone’s desktop, and immediately set about figuring out how to get this unbelievable coolness working on my laptop. By the time I was done I was muttering modelines in my sleep, and had already committed my first patches to a kernel module.

I wonder how many other teenagers got catfished into becoming software devs and sysadmins by the siren song of rasterman.

reply
pjc50
6 hours ago
[-]
Modelines are one of those skills that I thought would get obsoleted, but in fact taught me the mechanics of video timing that I was able to use in unrelated contexts. Such as years later where I was asked to fix a driver for a point of sale system which had a 1024x200 (or thereabouts, extremely wide nonstandard ratio) secondary screen.
reply
malux85
10 hours ago
[-]
Me too! Looking at my old windows 98 machine and then at slackware Linux with enlightenment lured me to Linux and began a lifelong journey!
reply
torh
10 hours ago
[-]
Same for me. Slackware (I guess 4.0) and E16 was my first proper Linux installation. Learned so much during that time.
reply
oldge
9 hours ago
[-]
Same for me. He definitely contributed to my fondness and wonder of Linux back then.
reply
madaxe_again
9 hours ago
[-]
SuSE 5.1 for me, as it was what I could easily get the CD-ROMs for, as bandwidth was just a single 64k ISDN at school.
reply
malux85
5 hours ago
[-]
Yeah that was the reason for me too, in order to get the distro CD ROMS I had to mail $10 to some random address and wait 4 weeks for them to be mailed back!
reply
madaxe_again
5 hours ago
[-]
I tell people you used to have to post a cheque when you bought stuff online and they just look at me like I’m nuts. It was basically just mail order, but on the web.
reply
kkaske
2 hours ago
[-]
These are exactly the kinds of posts I love. It seems technical posts like this are less and less on the internet. Is this a result of "vibe coding"? We don't feel like writing up posts like this when a machine did the work? Maybe it's a result of fewer and fewer people blogging. Maybe I'm just old and yelling about things changing.
reply
kogasa240p
1 hour ago
[-]
Oh wow didn't expect someone my age to try out Enlightenment. Every so often I try to use Enlightenment (either e16/moksha or the latest version) but I always leave because it requires Connman and setting it up properly is a pain imo. Might try it again because of this blogpost.
reply
chriswarbo
6 hours ago
[-]
Whenever I try something else, I always seem to keep going back to E16. Back in the day, it worked well in Gnome 2.x; these days I tend to use it in XFCE, but it feels a bit less integrated.
reply
sandos
6 hours ago
[-]
"Re-attaching repeatedly showed the program was not deadlocked."

Why re-attaching and not just resume then ctrl+c ? Is this some kind of clever hack I dont know about.

reply
rasterman
3 hours ago
[-]
when it's your window manager you are using right now... you tend to debug differently :) yes yes - xephyr and what not. i know...
reply
_3u10
10 hours ago
[-]
I used that same theme back in 2003. Makes me want to reinstall E16
reply
hartror
3 hours ago
[-]
Wow I haven't used enlightenment since the 90s! So cool!
reply
lateralux
2 hours ago
[-]
e16 was truly unique... honestly the best Linux desktop ever made !
reply
smm11
1 hour ago
[-]
Good thread.

I've been going backwards to Afterstep and Window Maker theming. Maybe I'll get back to E in a few years.

reply
porknbeans00
5 hours ago
[-]
Still the best window manager ever made. Nothing has beaten it to date.
reply
shevy-java
7 hours ago
[-]
Enlightenment is pretty cool. Some years ago though I realised that I just want the computer to be a fast and simple workstation at all times. That's when I kind of stopped using KDE (and GNOME3 but I did not use it to begin with, it always felt like an opinionated smartphone-UI pushed onto the desktop).

I think only few people use Enlightenment, so the resources to fix bugs must also be small.

reply