In reply to Stefan Seefeld <[EMAIL PROTECTED]>
>
>> If possible, it would be nice, if you could insulate the emulation
>> layer, so that we could write other emus as need arises, e.g. a
>> Linux-console-emu or a vt100 emu etc. Should be pretty
>> straightforward - just a few interfaces for I/O and blitting fonts.
>
>I'v been thinking about a generic emulator as well. The idea is
>similar to SAX, an event based XML interface. If you consider the I/O
>as a stream with embedded control sequences, all you need is a parser
>which filters out these sequences, and calls registered callbacks,
>synchronized with the rest of the stream.
>
>Whatever the client does with that stream and the callbacks, is
>irrelevant at this point.
I thought about that too, but unfortunately I don't have the time to
work out all the details. For example, some terminals save scrolled
lines, some don't (so where do you store screen information). Most of
them implement a huge common subset of commands, and so on. So let's
do the following: let me finish this one (I'm really enjoying working
in cmtt10!) and post it on sourceforge, then other people can pick it
up and "generalize it". After all, I already did the hard work here!!!
I guess there should be a lot of people interested in such a thing,
after all the Linux console is going to some undefined place really
slowly (main reason why I wrote this thing), and the Berlin project
could make good use of it. As an aside, do you people really see the
need for a completely generic terminal? What are the reasons for a
`linux' terminal emulator not being enough, for example?
During weekdays I am working full time on my thesis, so don't expect
anything to show up this week.
Ah! I need a good, unused name, for this thing. I am calling it
"therm" right now. I don't think it's bad, but my imagination dried up
a few projects ago ("dviv", "psv", oh well).
--
Cesar Augusto Rorato Crusius __o __o __o __o __o
Stanford University _`\<, _`\<, _`\<, _`\<, _`\<,
e-mail:[EMAIL PROTECTED] (_)/(_) (_)/(_) (_)/(_) (_)/(_) (_)/(_)
www.stanford.edu/~crusius
o _ _ _
__o __o __o __o /\_ _ \\o (_)\__/o (_)
_`\<, _`\<, _`\<, _`\<, _>(_) (_)/<_ \_| \ _|/' \/
(_)/(_) (_)/(_) (_)/(_) (_)/(_) (_) (_) (_) (_)' _\o_
He who sacrifices functionality for ease of use
Loses both and deserves neither