Live data from Hacker News

Fixing a 20-year-old bug in Enlightenment E16

iczelia.net

181–190 of 193 posts

Re: Fixing a 20-year-old bug in Enlightenment E16

#181
post #178
post #175

Earlier quoted context omitted.

I just get a headache tbh why? it is effectively a keyboard driven GUI. you potentially get the full power of the commandline to do your actions without giving up a graphical view of your system. i wrote in my own comment that i want to go even further and integrate a full terminal: https://news.ycombinator.com/item?id=47801068 ttyphoon on the other hand is a terminal project that approaches this from the other side,…

Just quickly, because I have to leave: I actually do somewhat like the paradigm, from a user perspective. If done well, why not, could be cool... If done very well, it could be very very cool... But please let's not invent these new kinds of applications based on terminal tech. I still don't see why one would go this pointless detour, instead of just start as a graphical application, tech-wise.

let's not invent these new kinds of applications based on terminal tech

i agree with that. the terminal with its escape sequences needs to go away, it is old and limited. however the commandline will not go away. nor should we give up text based applications. both are too powerful for that.

so what we want is a modernization of the commandline. this is happening with alternative shells, but also with ttyphoon and other projects. and efm brings the power of the commandline to the gui directly. i'd like to see more projects like that.

i see a large spectrum here. some projects try small incremental changes (sixels for example, a wierd concept, and i ask myself why, but ok). others try to bring more powerful datastructures to the commandline. good, because those are terminal independent. on the GUI side there have been various attempts to send objects between applications already for decades. none of them achieved broad acceptance. there is a lot of potential still. a GUI for data pipes for example would be nice. there is one for the terminal. tmux is a terminal manager, it is gaining GUI support. doesn't get rid of the terminal, but modernizes it. small incremental steps. 10 years ago i would not even have believed that alternative shells would gain acceptance. but they are. half a dozen projects that break bash compatibility and are gaining popularity.

Re: Fixing a 20-year-old bug in Enlightenment E16

#182
post #177

Earlier quoted context omitted.

(2/2) > it's there while I'm releasing the Enter key This is empirically, demonstrably untrue, because the "launch application" action does not begin until the "key release" event has fired. Which is something you'd know if you understood how your interface works. > And before you start taking into account that a lot of gui software is just poorly written trash seemingly written by morons under the CADT model (Hi, gn…

Oooof... Okay, but quicker, bcs I need to leave at some point in time. I'll skip most of the parts where we are in a loop anyways. > Could that be because you haven't tried it and don't understand what you're talking about? Admittedly, yes, I'm still trying to understand that. > So your suggestion is to add a terminal to every gui program in existence? Interesting idea in some way, no? Not each one individually, plea…

I'll skip all the parts where you don't understand my point, or where you're just saying nonsense, and jump right to the heart of the thing (other than "you don't get it"):

  > I mean "instantly" in a practical meaning. You don't have to explain me once more that it can't be exactly 0 sec in a scientific meaning
So, in other words, when you say "instantly", you mean "not instantly".

That's a pretty great metaphor for your entire line of argumentation.

I would respond to the rest - there's a million things there that I'd love to dissect, e.g the admission that you haven't even tried the thing you're so against - but why would I bother? When you say things, you mean things that aren't the thing you said. Case closed.

Re: Fixing a 20-year-old bug in Enlightenment E16

#183
post #176

Earlier quoted context omitted.

> Every format that someone now wants to handle on terminal, needs to be supported by the EFL library?! Does it support LO spreadsheets? PDFs? Why would you want to work with a spreadsheet in the terminal when there's a perfectly capable spreadsheet application right there? But if you want to be able to preview libreoffice spreadsheets or PDFs in terminology - and also incidentally and for free every other EFL projec…

> Why would you want to work with a spreadsheet in the terminal when there's a perfectly capable spreadsheet application right there? Well, if these quick previews are such a vital thing, it would be odd to just support a handful of formats. Any format should be supported, then. Furthermore, it shouldn't be just a static preview. I also want to navigate around there a bit then. And in my Blender model, I also want to…

(1/2)

  > it would be odd to just support a handful of formats. Any format should be supported, then. Furthermore, it shouldn't be just a static preview. I also want to navigate around there a bit then. [...] Hell, I basically want to just have Blender there.
I'm sure the enlightenment folks will be happy to look at your patches for these features you want. I'm not sure how you plan to integrate blender, but you've been programming professionally since 20 years, so I'm sure you have a plan and understand in ways that I simply can't comprehend.

Raster already pointed out, and you ignored, that actually it does support pdfs, and libreoffice already. Seems it just never occurred to me to try them. So you actually won't need to patch that in at all!

  > We all know this is oversimplified in so many ways... ;)
Do we? I don't. Maybe you can point me to the relevant lines of source code, where it's more than 3 lines. I'll look forward to seeing your link.

  > This was just about adding the video support (which was already implemented and just needed to be called), not for the graphics support in general, right? 
No, it does both graphics and video with the same 3 lines of code. As has already been explained and you ignored and/or failed to understand.

  > Also, the code isn't even my primary concern at all. Some "improvements" would be just a single line of code, and you'd definitely hate them.
So, to summarise: you bring up an argument that it shouldn't be done due to code complexity, then when that is rebuked because the additional code complexity is very close to zero, just say "the code isn't even my primary concern at all", without elaborating any further to outline what your concern actually is. And to summarise the summary: you don't actually have any reasoning, you just don't like it because you don't like it.

  > But just the repetition doesn't make it sound more reasonable to me tbh
Then why do you seem to think that saying "herp derp, I don't understand therefore it's a cult" over and over is going to sound more reasonable to me at some point?

  > That might very much be my fault! 
Yep

  > Unfortunately, you didn't help me in that regard either so far.
Maybe it'd help if you pulled your head out of your ass and actually read what I wrote.

  > Well, if you have a superior approach, which is quicker and more seamless, I'd definitely want us to see it using for everything!
We're talking about previewing. I have a superior approach for previewing. Which leads me to re-state my previous question: Did I say "editing the thing" or "working with the thing"?

  > It's probably just another three lines of code to make the mouse position available in pixel granularity. And then we can basically start porting everything into that new paradigm. Why should we then stick with the inferior one?
I suspect it'll be much more complex than that, but you're a professional programmer since 20 years who has never looked at the code or even run the software, so you probably know better than I do.

I'm sure the e folks will be happy to look at the patches you provide for this functionality you want.

I suspect there might be a bit of discussion about things like "is this desirable" and "does this break compatibility with existing things" because this is a bizarro thing that you've invented out of nowhere based on nothing anybody said anywhere ever. But I'm sure they'll be happy to discuss it once you submit a patch.

  > I had hoped that, once someone starts to develop such a "new class of [...] applications", we could have a more modern foundation for it than ttys.
I look forward to seeing your patch that does this without breaking compatibility with ~50 years of legacy software.

  > three or four file formats (or whatever EFL supports)
Again, EFL supports a lot of formats. Including ones I didn't even know about, like the pdf and libreoffice docs you wanted. I guess you didn't bother reading that before.

  > Technically, the application that runs your terminal _is_ a GUI application. I'm not aware of any terminal-based X11 emulators. That's just what I meant. Not more, not less.
So what's your point? How is it relevant that my terminal emulator runs on X? I'm not talking about the environment that runs my terminal, I'm talking about things that run in my terminal.

As for "terminal-based X11 emulators:, there's a fairly prominent one you might have heard of, it's called xorg. If you try to run 'startx' inside an X session you'll have problems.

  > Ahh, you're also one of the authors of some parts of that software stack?
When did I say that?

  > Either way, no I don't expect anything
You demanded that support for terminology's graphics sequences needed to be patched into every terminal emulator that exists in order for you to consider it valid for some reason.

By doing so, you're saying that people who write software that supports these graphical protocols (or maybe the authors of the terminals? It's unclear who you expected to do this for you) should jump through huge, unnecessary hoops just so that you can run their software (that you claim you don't want to run), rather than you..........simply running their software in the environment it requires.

Re: Fixing a 20-year-old bug in Enlightenment E16

#184
post #176

Earlier quoted context omitted.

> Why would you want to work with a spreadsheet in the terminal when there's a perfectly capable spreadsheet application right there? Well, if these quick previews are such a vital thing, it would be odd to just support a handful of formats. Any format should be supported, then. Furthermore, it shouldn't be just a static preview. I also want to navigate around there a bit then. And in my Blender model, I also want to…

(1/2) > it would be odd to just support a handful of formats. Any format should be supported, then. Furthermore, it shouldn't be just a static preview. I also want to navigate around there a bit then. [...] Hell, I basically want to just have Blender there. I'm sure the enlightenment folks will be happy to look at your patches for these features you want. I'm not sure how you plan to integrate blender, but you've bee…

(2/2)

  > Even with 8 GB, the difference between tycat (assuming it needs no memory at all) and VLC is then about 1% of the machine's capacity.
Maybe you don't tend to use all your machine's resources, but the way I use my machine, it's constantly at near or over 100% capacity. I'm constantly fighting against swap, no matter how much ram I have. Right now my machine is using about 113% of available ram. I'll have to flush it out and clean it up soon to prevent too much swapping. I probably wouldn't want to start vlc right now without closing something else first - if I wanted to watch a video right now I'd use something more lightweight (or something I already have loaded, like my terminal). This is a normal state of affairs for me.

  > A useful baseline seems to be the actual Linux terminal. It can do 16 colors. Unfortunately, it doesn't even support emojis, though.
In what way is this "a useful baseline"? Useful for what? Why is the extremely-well-supported 256 colour set or RGB not more useful? Who uses linux in text-only mode or with a display that can't do rgb in 2026 in any situation that isn't headless or exotic? Why can't they just run more complex stuff on the framebuffer with rgb colour if they want it? Why, given the above, is emoji support in text-only mode important? to whom? For what?

  > I ask myself since years: Does this terminal still switch to an actual text mode, or does the text get rendered in a framebuffer by the OS.
Why would anybody who isn't working with extremely exotic legacy hardware care about this in 2026?

  > And even more so all the applications that I know that I could run inside it.
Which ones don't run in terminology?

  > Again, I'm always open for something exciting.
...as long as it's not the heresy of displaying graphics in a a teminal.

  > for all the comfort I get back,
See this is the point right here. You consider it comfort. I consider it nuisance. So go use your GUI applications and enjoy them and let others enjoy their preference. Like I said a hundred thousand years ago.

  > But yeah, my basic point was not actually to evangelize for Dolphin or VLC or any particular app.
No, it was to say - without having even bothered to try it yourself - that there's no use for a thing that I use all the time. And then in order to support your thesis you started evangelising the massive pile of software that you'd use to achieve what I can do better with one program that I always have running.

  > Well, how do "the kids" get their Git icons etc? As far as I can remember, they call it "Nerd Fonts".
How are nerd fonts at all relevant to any part of the discussion?

Oh, I see: You said "[dolphin] even can render actual icons without a patched terminal font!"...

...you mean like terminology and other graphics-supporting terminals can? If they were using terminology or kitty, they wouldn't need to patch the nerd font icons into their terminal font - they could just display the icon they want.

So your point was to sarcastically suggest another actually-pretty-good use-case for the functionality you're arguing against. Got it.

  > But all I've tried are buggy sometimes in what glyph widths they report
And what happened when you filed bug reports about this? Please link to them, I'll be interested to read your reports for more detail than none at all.

  > If terminology does better in that regard, good news! Nice!
Well I don't know whether it does or not. Because you haven't bothered to actually describe the issue you claim exists in any detail. Or done anything more than make a vague and as-far-as-i-can-tell-incorrect assertion that terminals can't display emojis properly. As if that was somehow relevant to whether they should be able to display graphics or not.

  > As an application developer, I still cannot assume that my users all have terminology, so it's still no solution
As an application developer, you have control over this thing called "system requirements" for your software. And you can do things like adding "requires terminology" or "feature X requires terminology" in there. Or you could put a note on the relevant issue in your issue tracker saying "you can work around this by using terminology, which doesn't have this issue". But of course we'd need to know whether that's true, first, and for that we'd need more than zero detail.

Or perhaps you should just make your application graphical, since you've said solves the problem you're having with emojis and repeatedly asserted that graphical software is inherently better.

Which of these is appropriate, i don't know, because you'd have to give more than zero detail for me to be able to tell.

Maybe when you're linking to more than zero detail you can also explain how it has anything to do with whether supporting graphics in terminals is a good idea.

Re: Fixing a 20-year-old bug in Enlightenment E16

#185

Earlier quoted context omitted.

> my new rewrite of efm (e's built-in filemanagger) also has a terminal-like worklflow. i can literally in the efm window type "ls ./dir" and it will liteally change to that dir and list/show it. same with "cd .." or "rm a.jpg b.txt *.png" and it will delete those files. you can even just run apps like "gimp file.png" .... and it knows gimp is a command and there is a desktop file for it and will let you know by putt…

This is just a demo right now - buttons surrounding the file view are for testing: http://www.rasterman.com/files/efm-typebuf-ex.webm

That's very, very cool. I especially like selecting files with wildcards. And also the amiga-like view with different sized icons <3

Re: Fixing a 20-year-old bug in Enlightenment E16

#186
post #163

Earlier quoted context omitted.

KDE1 had some very nice themes! I remember using one that drew inspiration from the visuals of Bryce on the Mac. Dark mode theme - and animated window titles which would scroll gently if the window title was too long to fit.

Wasn't it KDE 2 that introduced themes? I remember early versions of KDE and Qt only offering a choice between Windows and Motif look-and-feel.

I'm sure it was version 1.something that had the Bryce theme - I remember being annoyed that the scrolling title feature had disappeared when KDE2 came out.

But it's always possible that my memory's playing tricks on me.

Re: Fixing a 20-year-old bug in Enlightenment E16

#187
post #163

Earlier quoted context omitted.

KDE1 had some very nice themes! I remember using one that drew inspiration from the visuals of Bryce on the Mac. Dark mode theme - and animated window titles which would scroll gently if the window title was too long to fit.

Wasn't it KDE 2 that introduced themes? I remember early versions of KDE and Qt only offering a choice between Windows and Motif look-and-feel.

My memory wasn't playing tricks on me after all - Suse Linux 6.3 had KDE 1.1.2 with several nice themes [1] - I'm pretty sure the version I used back in the day was SuSE 7 (a boxed copy, bought from Staples!)

[1] https://www.reddit.com/r/vintageunix/comments/1m3vkba/kde_th...

Re: Fixing a 20-year-old bug in Enlightenment E16

#188
post #163

Earlier quoted context omitted.

Wasn't it KDE 2 that introduced themes? I remember early versions of KDE and Qt only offering a choice between Windows and Motif look-and-feel.

My memory wasn't playing tricks on me after all - Suse Linux 6.3 had KDE 1.1.2 with several nice themes [1] - I'm pretty sure the version I used back in the day was SuSE 7 (a boxed copy, bought from Staples!) [1] https://www.reddit.com/r/vintageunix/comments/1m3vkba/kde_th...

Ah, perhaps I should have said "styles" rather than "themes"! I was thinking of the look-and-feel of the widgets, not the colors and window decorations. The widgets in all those screenshots seem to use Qt's Windows style.

Here's an example of the Motif style in KDE 1: https://commons.wikimedia.org/wiki/Category:Screenshots_of_K...

KDE 2 introduced customizable styles for the widgets, I'm pretty sure, e.g. this somewhat gaudy one: https://commons.wikimedia.org/wiki/Category:Screenshots_of_K...

...or this BeOS-inspired one: https://timeline.kde.org/images/kde2b3_6.png

The release notes for 2.0 [1] say:

> KDE's sophisticated theme support starts with Qt's style engine, which permits developers and artists to create their own widget designs. KDE 2.0 ships with over 14 of these styles, some of which emulate the look of various operating systems, and additionally does an excellent job of importing themes from GTK and GNOME.

[1] https://kde.org/announcements/1-2-3/2.0/

Re: Fixing a 20-year-old bug in Enlightenment E16

#189

Earlier quoted context omitted.

This is just a demo right now - buttons surrounding the file view are for testing: http://www.rasterman.com/files/efm-typebuf-ex.webm

That's very, very cool. I especially like selecting files with wildcards. And also the amiga-like view with different sized icons <3

right now in theory it allows different sized icons... the metadata can exist and define it.. but i have not provided a ui to change sizes... but yes... amiga-like :) there is a .efm/ dir in each dir ... and in this can be files for thumbnails, or metadata (as well as metadata for the dir view as a whole). if you don't have write access it can shadow these in ~/.e/e/efm/meta/ - i thought a lot on this and chose to put the data in the dirs because in the end it's the sanest place to have the metadata follow files as you move/copy/delete stuff around your filesystem. some of this metadata can define x,y per icon as well as size... they are little .ini format files per file. so as such in principle it is a bit like the good old amiga .info files ... but just stored in a different place and now a .efm/file.meta.efm or .efm/file.thumb.efm.eet for thumbnail data...

Re: Fixing a 20-year-old bug in Enlightenment E16

#190
post #173

Earlier quoted context omitted.

the cost of launching a new process with a gui is not cheap. there's a lot of setup before you even get a window up ... when that process is already there (terminal) with all of that cost paid for it is actually provably cheaper in terms of cpu cycles, latency etc. to pop up an image/video in your terminal. and cheaper not by 1 or 2 ms... but by 100's ms or more. that new window is not cheap. you also have the visual…

In terms of wall clock time, on my system, it costs nothing. I can start a "Hello World" application based on Qt or GTK, and the window is there while I'm still releasing the Enter key. Technically, sure, a lot of things happen... But it's not happening on a P-90 anymore... :) BTW: My machine wasn't particularly strong or expensive either, when I bought it 6 years ago. ;) When I read (in your other reply) that you ar…

well this is a bit of a slow-ish box. it's my daily driver workstation at work. ampere emag (arm64 machine). numbers taken using strace -tt thus adding some overhead. time to launch eog (gnome/gtk image viewer) and go idle after drawing: 2.221 sec. definitely measurable. similar number for entice (efl image viewer) 2.294 sec. within spitting distance of each other (error margin) but time to tycat the same image in a terminal (between enter and image shown and terminal idle again: 0.123 sec. this is a server chip with 32 arm64 cores launched about 6 years ago or so. 3ghz. :) i definitely have benchmarked this kind of thing many many many times over the years. i've stared at process startup times and what toolkits do on startup to create a window etc. - i've memory and other profiled them a lot too. i know it's a good chunk cheaper to just tycat :) but it's more about less interruption to workflow.
Post reply on HN