|There is a whole set of issues wrt embedding in a window system (at
|least in X), going from session management (how to tell the embedded
|app to go away, to come back, etc) up to geometry negociations, and I
|don't want to ignore these, but I think that a generic way to initiate
|embedding is needed to start with.
Will Carlton wrote:
|You might try looking at work done by Bert Bos:
| http://www.let.rug.nl/~bert/W3A/W3A.html
|
|and Steve Gutfreund at GTE Labs:
| http://www.ncsa.uiuc.edu:80/SDG/IT94/Proceedings/Agents/gutfreund/gutfreund.html
Without changes to both the browsers and the external viewers it won't
be possible to have viewers display their output embedded in the
browser's window. Several solutions have been suggested:
1. The browser becomes a sort of pseudo window manager, reparenting
the windows of external viewers.
2. Browser and viewers communicate with a special embedding protocol
that is an extension of the X protocol (compare OLE under MS
Windows), as in Jan Newmarch's work:
<http://pandonia.canberra.edu.au/SW.html#embed>.
3. Viewers are not written as complete programs, but as modules to
link (dynamically) to a browser, as in my W3A:
<http://www.let.rug.nl/~bert/W3A/W3A.html>.
4. Viewers are written in a special embedded language for which the
browser has an interpreter (just like Emacs is extended with
programs in e-lisp).
In (1) and (2) additional protocol has to be specified, in order to
allow the browser and viewer to exchange commands. Currently, I have a
slight preference for (4), since it makes viewers portable to other
platforms.
Bert
-- Bert Bos Alfa-informatica <bert@let.rug.nl> Rijksuniversiteit Groningen <http://www.let.rug.nl/~bert/> Postbus 716, NL-9700 AS GRONINGEN