emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Platform independent graphical display for Emacs


From: Dmitry Gutov
Subject: Re: Platform independent graphical display for Emacs
Date: Sat, 25 Dec 2021 13:23:01 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 25.12.2021 10:25, Eli Zaretskii wrote:

On 24.12.2021 10:33, Eli Zaretskii wrote:
That said, all of this would obviously be a lot of work and until and
unless someone starts such work this is all rather academic.
Not only that, I'd hesitate to accept such a contribution, because its
long-term maintenance would most probably be a constant burden,

How it that different from a BeOS port, or a PGTK port, or etc? Where
the general policy has been (I think?) that we accept such contributions
as long as there interest from the author in maintaining it, and some
probable interest the users.

The suggestion, as I understood it, was to drop all the other toolkits
and leave only this proposed one.  That was its main "selling point".
If we decide to have just one toolkit, then having that unmaintained
would be a serious problem for the future of Emacs.

Before we could do that, we'd need to have this port functional first, and the problem with dropping all others would be in reaching a consensus across emacs-devel (at least) that the new one is better than the others. And it maintained/maintainable, of course.

That should pretty much guarantee that it will be maintained. But the odds of reaching that point are pretty slim, of course, given that we don't lack in different viewpoints here.

I would hate to discourage someone from taking the initiative a trying
to create a better "no-toolkit" port which supports font scaling, for
example.

The suggestion was not to improve the no-toolkit configuration and
leave all the supported toolkits in place.  The suggestion was to drop
all the others.

I have nothing in principle against improving the no-toolkit
configuration.  I do think that _adding_ another no-toolkit
configuration would be undesirable, because it would make the
proverbial "spaghetti of Emacs code" even harder to understand and
maintain.  (I don't think such a suggestion is on the table, but since
you seem to say I misunderstood the suggestion, perhaps I've
misunderstood that as well.)

I would at least hope that switching to another no-toolkit configuration (and removing the current one soon after) is on the table. After getting enough consensus, naturally.

It might become feasible to remove a number of them, though. If my hunch is right that people have been holding on to no-toolkit, or Motif, or Lucid, because they each have some pet bug which is present on newer toolkit ports, but not on their chosen one.

Worst-case scenario, we'd just have to drop that "port", wouldn't we?

We cannot just "drop" the only toolkit we have.

Like some people said previously, Emacs feels similar in spirit to
another popular FLOSS project: Blender. Community of professionals,
keyboard-driven interface, power and customizability.

Blender never used an existing GUI toolkit. And I think it looks pretty
good (even though I hope it has grown a light-bg theme by now):

https://docs.blender.org/manual/en/latest/_images/editors_preferences_section_interface.png
https://b3d.interplanety.org/wp-content/upload_content/2016/09/01-4.jpg

Of course, the Blender community is much larger and better funded, but
OTOH the number of different UI elements we'd need to support is much
smaller as well.

I'm not saying it's impossible, I'm just saying we don't have such
talent on board.  Maybe Blender does, which would be understandable,
given the focus of the project.  Our experience is that GUI experts in
our ranks are very rare and far in-between, and there are no reasons
to believe this will change.

Having a port like that developed could get us +1 such expect.

And we could tap into some existing community talent by having a lot of
the UI logic implemented in Lisp. Similarly to how a number of recent
web browser projects have their UIs implemented with JS+HTML.

I think this hope is misguided, because Emacs Lisp was not designed to
be a UI programming language, it was designed as a text-processing
language.  So it would need significant extensions to get closer to
your dream.

There is not much in JS that would make it a UI language. Other Lisps compile to it without problems. Other editors had been written in lisp as well (such a LightTable -- in ClojureScript).

Perhaps better concurrency story would make it a tad easier (e.g. better stdlib for working with threads, or a counterpart to Web Workers), but IIRC when LightTable was developed, JavaScript had neither.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]