all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Alin Soare <as1789@gmail.com>
Cc: Emacs Dev <emacs-devel@gnu.org>
Subject: Add morph library to emacs
Date: Mon, 05 Mar 2012 16:22:50 +0900	[thread overview]
Message-ID: <87ty23cy0l.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <CA+Xtq3V38_djLFNz2Oi8D6nwDu=gZWd7q2YEQ=j=1EBURr_eQg@mail.gmail.com>

Long list of CCs nuked; they're all on emacs-devel anyway.

Alin Soare writes:

 > 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 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).
 
 > 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, by the name of "native widgets".
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.

 > Having such a structure, emacs will have a main working desktop -- main
 > morph, in which we can drop other kind of morphs -- like buffers, tabs,
 > etc. (the frames will not be useful any more).

I think you need to rethink your basic concept of "morph".  Buffers
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
frame, but that's not the only way it can be implemented (for example,
in XEmacs the tab control does not have a display area of its own, but
borrows an Emacs window instead), and the notion of a multiwindow area
with tiled subwindows is essential to good UI design -- in other
words, I don't see how you can do without frames (even if you call
them "main morphs" -- to the utter confusion of the whole world --
they are still frames, or what X11 calls "top-level windows").




  reply	other threads:[~2012-03-05  7:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-04  3:16 Add morph library to emacs Alin Soare
2012-03-05  7:22 ` Stephen J. Turnbull [this message]
2012-03-06  1:09   ` Alin Soare
2012-03-06  1:53     ` Óscar Fuentes
2012-03-06  2:31     ` Stephen J. Turnbull
2012-03-06  2:56       ` Alin Soare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ty23cy0l.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=as1789@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.