[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Add morph library to emacs
Stephen J. Turnbull
Re: Add morph library to emacs
Tue, 06 Mar 2012 11:31:09 +0900
Alin Soare writes:
> The effort you depose to write tabs for emacs can be compared with
> the effort to add to emacs a real graphical interface
Once again, you're talking to yourself, making us guess what you mean.
Your words make little sense to me. I have two guesses, neither of
which seems to be what you mean. Either Emacs already has a "real
graphical interface" (though limited in some ways), or making a "real
graphical interface" will require rewriting thousands of lines of code
spread over millions of lines of code to reorient Emacs from its TTY
roots to a modern (but not necessarily better!) graphical mode.
> And if this is done, we will have a graphical interface of the same
> power of that one of smalltalk.
I don't use Smalltalk, and nobody I hack with does. Would you like to
try an example that the people you are addressing might understand?
> > > To add morphic objects to the actual structure of emacs it is
> > > also beyound the limits of the system.
> > Again, XEmacs did so a decade ago,
> This is a play. This graphical interface is limited to the
> capabilities of emacs's matrix of glyphs.
You haven't looked closely enough. It's true that XEmacs's
capabilities are limited, but it is capable of managing arrays of
widgets either horizontally or vertically, including arrays of widget
arrays. In practice that's sufficient for any editor I need. If you
need a canvas, I don't have one but on GTK+ I'm sure there's something
more or less usable that can be linked in.
More generally, on the X11 family of platforms, one can connect
directly to the X server via xlib.el (that's something developed by
one of the SXEmacs guys, but should work on Emacs as well as the
*XEmacsen), or on platforms where GCC supports FFI, use FFI to access
toolkits on the client side.
lwlib stands for "Lucid Widget Library" after the company that
developed it, but it could just as easily be named the "Lispy Widget
Library", as internally structures of widgets are built out of singly
linked lists. It would be reasonably straightforward in XEmacs to
finish the work and have real widget objects in Lisp, and then build
up the whole user interface from there, in Lisp. (I say "XEmacs"
because I suspect that the result would be too heavyweight both in
space and time, and the use of opaque types too great to pass Emacs
filters, but you could hope I'm wrong!)
> Just start reading about the basics of oop and the link with
> graphical interfaces.
I did that 20 years ago. Boring stuff, to my taste.
Please understand: I have no interest in doing the work to implement
your ideas. I don't find them attractive (not that the ideas are
unattractive, but they don't attract *me*). All I want out of this
thread is for *you* to learn that Emacs is a very large, stable piece
of software, with all the capabilities you need to do what you want to
do. However, if you want to take advantage of the unique capabilities
of Emacs in editing and as a workspace, you're going to need to work
within the framework of Emacs, which is not optimized for your GUI
> Seems that you never heard about morphs:
That's true, I haven't. I have a teenage daughter and live in a
country full of lightweight politicians and frivolous journalists who
feed me more fads than I can stomach. For me, Emacsen are a haven
from such froth.