> It is evident that the problem of tabs passes beyound the limits of
> graphical capabilities of emacs.Not at all. Lack of graphic capability has nothing to do with it;
graphically adding tab control widgets is no problem (I'm looking at
them in my XEmacs right now), and displaying different content in the
same window is Emacs's bread and butter for user multitasking.
The effort you depose to write tabs for emacs can be compared with the effort to add to emacs a real graphical interface -- this require maximum 5 000 lines of C code.
And if this is done, we will have a graphical interface of the same power of that one of smalltalk.
Or otherwise -- a smalltalk with an editor with editing capabilities of emacs.
The problem that you face is that nobody else understands why you
think it necessary to add a whole new event processing system to Emacs
to support your tabs, or why you think tabs are an appropriate
graphical metaphor for subprocess control (beyond what can already be
accomplished by attaching the process's stdio channels to a buffer,
and switching to that buffer via tabs).
Again, XEmacs did so a decade ago, by the name of "native widgets".
> To add morphic objects to the actual structure of emacs it is also beyound
> the limits of the system.
They are not used much (partly because Emacs doesn't have them, so
third parties avoid using them, and partly because the developers who
introduced them only debugged their itchy applications, so they tend
to still have bugs that need serious scratching when you try to use
them for other applications), but they are surely proof of concept.
This is a play. This graphical interface is limited to the capabilities of emacs's matrix of glyphs.
> Having such a structure, emacs will have a main working desktop -- mainI think you need to rethink your basic concept of "morph". Buffers
> morph, in which we can drop other kind of morphs -- like buffers, tabs,
> etc. (the frames will not be useful any more).
are *not* GUI objects, and should not be. It is important that a
buffer be displayable in more than one place, or completely detachable
from the UI. It's arguable that a tab control is a generalization of
A buffer could be displayed in 2 morphs , if you want.
Just start reading about the basics of oop and the link with graphical interfaces.
Seems that you never heard about morphs: